我想刮掉特定一周的特定游戏的所有链接,我可以通过检查看到,但它只刮下游戏的链接,无论是哪个页面(游戏周),我尝试刮。https://www.euroleaguebasketball.net/euroleague/game-center/?round=1&season=E2021
soup.find_all('a', class_="game-card-view_linkWrap__u3Tea")显示:
['/euroleague/game-center/2021-22/olympiacos-piraeus-anadolu-efes-istanbul/E2021/228/',
'/euroleague/game-center/2021-22/alba-berlin-zenit-st-petersburg/E2021/227/',
'/euroleague/game-center/2021-22/as-monaco-zalgiris-kaunas/E2021/226/',
'/euroleague/game-center/2021-22/maccabi-playtika-tel-aviv-cska-moscow/E2021/229/',
'/euroleague/game-center/2021-22/ax-armani-exchange-milan-bitci-baskonia-vitoria-gasteiz/E2021/230/',
'/euroleague/game-center/2021-22/unics-kazan-crvena-zvezda-mts-belgrade/E2021/231/',
'/euroleague/game-center/2021-22/fenerbahce-beko-istanbul-fc-bayern-munich/E2021/232/',
'/euroleague/game-center/2021-22/ldlc-asvel-villeurbanne-panathinaikos-opap-athens/E2021/233/',
'/euroleague/game-center/2021-22/real-madrid-fc-barcelona/E2021/234/']但应该是:第一场比赛的链接--第9局。
发布于 2022-02-08 10:14:41
会发生什么?
网站内容是动态生成的,requests不能像浏览器那样解释/呈现这些内容。
怎么修?
Option#1:
使用api获取匹配的信息:
URL = 'https://feeds.incrowdsports.com/provider/euroleague-feeds/v2/competitions/E/seasons/E2021/games?teamCode=&phaseTypeCode=RS&roundNumber=1'
headers = {
'accept':'*/*',
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
}
r = requests.get(URL, headers=headers)
r.json()['data']Option#2:
使用selenium来呈现页面,就像浏览器所做的那样,并从driver.page_source中刮取数据
https://stackoverflow.com/questions/71030998
复制相似问题