我正在尝试从我所属的网站上抓取内容。该网站即将关闭,因此我正在尝试从中下载一些内容。我有权这样做。我知道登录不起作用,因为当我尝试从特定网页抓取链接时,该网页只有在您登录后才可见,但我没有得到任何结果。
我从 Google Chrome 中获取了有效负载键和值
Developer Tools
> Network
> Payload
(我检查了 Preserve Log
并登录了浏览器)。我从 Headers
选项卡中获得标题,在 Request Headers
下。我没有复制所有的标题,只复制了“accept”、“user-agent”、“origin”和“referer”。的
我的代码如下:
import requests
url = <WEBSITE URL>
login_url = <LOGIN URL>
username = <USERNAME>
password = <PASSWORD>
authenticity_token = <AUTHENTICITY TOKEN>
s = requests.session()
payload = {
"member[email]": username,
"member[password]": password,
"commit": "Sign+In",
"authenticity_token": authenticity_token
}
headers = {
"accept": <ACCEPT VALUE>,
"user-agent": <USER AGENT VALUE>,
"origin": <ORIGIN URL>,
"referer": <REFERER URL>
}
response = s.post(login_url, json=payload, headers=headers)
print(response.status_code) # this prints '200'
正如我所提到的,当我使用这个会话 (
s
) 获取其他网页的内容时,我得到了那些页面的版本,这些版本显示给没有登录的人。