python - GET 和/或 BeautifulSoup FanDuel 网络抓取的接收证书/403 错误
问题描述
我正在尝试抓取以下页面:https ://www.fanduel.com/games/57764/contests/57764-245891325/scoring
以下使用 urlopen() 的代码产生了证书验证失败错误:
url = 'https://www.fanduel.com/games/57764/contests/57764-245891325/scoring'
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
错误:urllib.error.URLError:<urlopen 错误 [SSL:CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:1123)>
我也尝试使用以下代码,但我收到了 <response [403]>
html = f'https://www.fanduel.com/games/57764/contests/57764-245891325/scoring'
r = get(html, verify=False)
非常感谢任何有关抓取此站点的建议,无论是代码更新还是建议使用不同的网络抓取包。谢谢!
更新 PER Maxlovesairandteslas 回应:
我现在遇到一个新错误。在响应中它说:访问此页面已被拒绝。我这样更新了我的代码,所以我假设我至少进入了适当的页面,现在被拒绝了:
with requests.Session() as s:
p = s.post("fanduel.com/login", verify=False, data={"email": "","password": ""})
base_page = s.get('fanduel.com/games/57764/contests/57764-245891325/scoring')#, headers=headers)
soup = BeautifulSoup(base_page.content, 'html.parser')
print(soup.prettify())
解决方案
似乎您需要先登录该网站才能玩游戏。就像@MendelG 所说的那样,试试这个:登录网站
推荐阅读
- sql-server - XML 解析:第 1 行,字符 345,重复属性
- java - java回溯递归(骑士)
- gimp - 选择带有模糊边框的图片的黑暗部分
- python - 在 Flask-Restful 中管理多个/并发的插入和更新请求
- python - 如何对数据框列中存在的值进行切片
- jenkins - JMeter + Jenkins - 如何在 Jenkins 中使用性能插件查看响应数据/断言失败结果
- angular - Angular Ivy - 非常糟糕的性能基准
- google-cloud-platform - 同时创建多个具有私有 IP 的 Google Cloud SQL 实例时如何解决“发生未知错误”?
- unity3d - 相对于 CameraRig (VR) 的 AngularVelocity
- babeljs - 使用 babel / browserslist 提供 *not* 支持的回退消息