在 Python 中登录网站进行网络抓取

Logging on to site to web scrape in Python

我想从具有初始登录(我有工作凭据)的网站上抓取数据。无法为此检查代码,这是在访问该站点之前弹出的日志。我尝试四处搜索,但没有找到任何答案——也许我不知道要搜索什么。

这是您访问该站点时得到的结果:

Log on

感谢任何帮助:-)

解决方案是为站点使用 public REST API。

如果该网站不提供用于与之交互的 REST API,那么您对模拟人类的尝试很困难就不足为奇了。 Web 抓取通常只适用于不需要身份验证或使用标准 HTTP 401 状态响应告诉客户端它应该提示用户使用正确的凭据进行响应的页面。如果站点使用不同的机制,很可能基于 AJAX,那么解决方案将特定于该网站或使用相同机制的其他站点。这意味着没有人可以回答您的问题,因为您没有告诉我们您正在与哪个网站进行交互。

根据您的屏幕截图,这似乎只是在使用基本身份验证。

使用库 "requests":

import requests

session = requests.Session() r = session.get(url, auth=requests.auth.HTTPDigestAuth('user', 'pass'))

应该可以带你到那里。

我无法让 Tom 的答案生效,但我找到了解决方法:

from selenium import webdriver
driver = webdriver.Chrome('path to chromedriver')
driver.get('https://user:password@webaddress.com/')

这有效:)