繁体   English   中英

从本网站抓取数据的替代方法?

[英]Alternative way to scrape the data from this website?

我试图在https://www.oddschecker.com/us/football上为每场比赛争取赔率。 使用 Chrome 工具 XHR 选项卡时,我看不到访问任何 API 的明显方法。 我在这里错过了什么吗? 这些数据来自哪里?

我知道我可以通过使用 Splash 或 Selenium 加载 Javascript 来抓取数据(我正在使用 Scrapy 和 python),但我似乎对 Splash 有任何头疼的问题,我可以帮助解决。 我希望有人能告诉我一种访问 API 的方法,这样我就可以跳过使用这些方法来加载动态网站。

任何建议,将不胜感激!

当您看到页面源时,该网站中的数据是从id initial-data的脚本变量加载的


from bs4 import BeautifulSoup 
import requests, json

headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'}
r = requests.get('https://www.oddschecker.com/us/football', verify=False, headers=headers)
soup = BeautifulSoup(r.text,'lxml')
data = json.loads(soup.find("script", {"id":"initial-data"}).get_text(strip=True))

with open("data.json","w") as f:
    json.dump(data,f)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM