我一直在尝试从 Fantasy Premier League ( https://fantasy.premierleague.com ) 中抓取数据,当我尝试通过 Python 中的请求模块登录时,出现 405 错误。
要获取我需要的数据,首先我需要登录该站点。因此,在从网页获取 id 后,我以 json 格式手动输入了我的用户名和密码。我还包括了表单所需的隐藏字段。我创建了一个 Session 变量并向该站点发送了一个 post 请求,该数据变量用于 data 参数,
import requests
session = requests.Session()
data = {
"loginUsername" : "username",
"loginPassword" : "password",
"app" : "plfpl-web",
"redirect_uri" : "https://fantasy.premierleague.com/"
}
url = "https://fantasy.premierleague.com/"
login = session.post(url, data = data)
print(login.text)
我得到以下输出
<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.13.5</center>
</body>
</html>
我对不同的网站(例如 Twitter)尝试了相同的方法,并收到了类似上面的 405 或 403 错误消息。
我可以更改哪些内容才能成功获取请求?我知道我可以使用 Selenium,但我计划制作一个小项目并分发给其他人,我希望在没有浏览器驱动程序的情况下进行数据抓取。
缥缈止盈
相关分类