Python3 - 从需要登录的网站抓取数据 - 我可以使用当前登录的浏览器的用户代理吗?
Python3 - Scraping data from website that requires log in - Can I use the user-agent of a browser that is currently logged in?
我用谷歌搜索了我的用户代理并将该代码放入我的程序中,但没有成功
import requests
from bs4 import BeautifulSoup
URL = 'Servicenow blah blah'
headers = {
"User-Agent": Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'
}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
print(soup.prettify())
到目前为止代码非常简单。
最终我会尝试登录该网站(如果可能的话,甚至可以通过使用已经登录的用户代理来绕过该网站(这是我的主要问题)) 然后解析 html 以获取某个元素的 html 以监视更改
或者如果有更好、更简单的工具,我很想知道
我在打印的 html 中看到 "Your session has expired etc. etc."
首先 - user-agent 通常不是跟踪会话数据的方式,它让网站知道您使用的浏览器版本的详细信息。通常此信息保存在您的 cookie 中。
对于登录问题,听起来您只需要执行登录请求并跟踪提供的 cookie 等即可。但是,正如您所说 "monitor for changes" 我怀疑可能会有一些 Javascript 下线 ;) 我建议为此调查 Selenium。它是一个浏览器驱动程序,这意味着它只与普通浏览器交互,并会为您处理所有 Javascript 执行和 cookie 跟踪!
我用谷歌搜索了我的用户代理并将该代码放入我的程序中,但没有成功
import requests
from bs4 import BeautifulSoup
URL = 'Servicenow blah blah'
headers = {
"User-Agent": Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'
}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
print(soup.prettify())
到目前为止代码非常简单。
最终我会尝试登录该网站(如果可能的话,甚至可以通过使用已经登录的用户代理来绕过该网站(这是我的主要问题)) 然后解析 html 以获取某个元素的 html 以监视更改
或者如果有更好、更简单的工具,我很想知道
我在打印的 html 中看到 "Your session has expired etc. etc."
首先 - user-agent 通常不是跟踪会话数据的方式,它让网站知道您使用的浏览器版本的详细信息。通常此信息保存在您的 cookie 中。
对于登录问题,听起来您只需要执行登录请求并跟踪提供的 cookie 等即可。但是,正如您所说 "monitor for changes" 我怀疑可能会有一些 Javascript 下线 ;) 我建议为此调查 Selenium。它是一个浏览器驱动程序,这意味着它只与普通浏览器交互,并会为您处理所有 Javascript 执行和 cookie 跟踪!