[英]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.