[英]Can't login with python requests, even after making a get request first, and setting headers
我正在尝试从页面中获取数据。 我试图阅读其他有同样问题的人的帖子,首先提出一个 get 请求来获取 cookie,设置标题,但没有一个工作。 当我检查print(soup.title.get_text())
的输出时,我仍然在标题返回时得到“登录”。 login_data
与 HTML <input>
元素具有相同的键名,例如<input name=ctl00$cphMain$logIn$UserName ...>
表示用户名, <input name=ctl00$cphMain$logIn$Password ...>
表示密码。 不知道下一步该怎么做。 我不能使用 selenium,因为我必须在运行 splunk 服务器的 EC2 实例上执行此脚本。
import requests
from bs4 import BeautifulSoup
link = "****"
login_URL = "https://erecruit.elwoodstaffing.com/Login.aspx"
login_data = {
"ctl00$cphMain$logIn$UserName": "****",
"ctl00$cphMain$logIn$Password": "****"
}
with requests.Session() as session:
z = session.get(login_URL)
session.headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36',
'Content-Type':'application/json;charset=UTF-8',
}
post = session.post(login_URL, data=login_data)
response = session.get(link)
html = response.text
soup = BeautifulSoup(html, "html.parser")
print(soup.title.get_text())
我实际上找到了答案。
您基本上可以使用 chrome 转到网络选项卡,然后将请求复制为 cURL 语句。 然后,只需使用网站或工具将 cURL 语句转换为其等效的编程语言(Python、node、java 等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.