簡體   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