我正在尝试登录并抓取评分网站。我设置了以下代码来访问该网站并输入有效负载: - 用户名/电子邮件 - 密码 - csrf_token 是否需要在有效负载中包含其他信息才能登录?
我正在使用python 2.7。我添加了代码来打印脚本打开的最后一页,它打印出登录页面,让我认为它从未成功登录。
import requests
from lxml import html
payload = {
"username": "...",
"password": "...",
"csrf_token": "ImE2N2E1YzkzZGU2ZjY3NjQ0YTc4YmZiYWJjNWRiN2Y3MjlhYWZmYjQi.XBvDVg.ALSRF6Ui7Y2L7ST0kQG-CC4HTzQ"
}
session_requests = requests.session()
login_url = "https://www.zipgrade.com/login"
user_url = 'https://www.zipgrade.com/user'
result = session_requests.get(login_url)
# make HTML parse tree from page
tree = html.fromstring(result.text)
authenticity_token =
list(set(tree.xpath("//input[@name='csrf_token']")))[0]
# send payload through
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
result = session_requests.get(
user_url,
headers = dict(referer = user_url)
)
tree = html.fromstring(result.content)
bucket_names = tree.xpath("//div[@class='row']")
print(result.ok)
print(bucket_names[0].text_content().strip())
我希望它带我到“ https://www.zipgrade.com/user ”页面,但它看起来像是停留在“ https://www.zipgrade.com/login ”页面上。