gpt4 book ai didi

javascript - 包含 Javascript 的 Python Beautifulsoup 抓取页面

转载 作者:行者123 更新时间:2023-11-29 19:36:24 29 4
gpt4 key购买 nike

我正试图从这个页面中抓取: http://www.scoresway.com/?sport=basketball&page=match&id=45926

但无法获取某些数据。

页面上的第二个表格包含主队 boxscore。 boxscore 分为“基本”和“高级”统计数据。此代码打印主队的“基本”总统计数据。

from BeautifulSoup import BeautifulSoup
import requests

gameId = 45926
url = 'http://www.scoresway.com/?sport=basketball&page=match&id=' + str(gameId)
r = requests.get(url)
soup = BeautifulSoup(r.content)

for x in soup.findAll('table')[1].findAll('tr')[-1].findAll('td'):
print ''.join(x.findAll(text=True))

如果您想查看“高级”统计信息,请单击“高级”“链接”,它会显示它,同时让您保持在同一页面上。我也想抓取该信息,但不知道如何获取。

最佳答案

advanced 选项卡有一个单独的请求。模拟它并用 BeautifulSoup 解析。

例如,下面是打印表格中所有玩家的代码:

import requests
from bs4 import BeautifulSoup


ADVANCED_URL = "http://www.scoresway.com/b/block.teama_people_match_stat.advanced?has_wrapper=true&match_id=45926&sport=basketball&localization_id=www"

response = requests.get(ADVANCED_URL)
soup = BeautifulSoup(response.text)
print [td.text.strip() for td in soup('td', class_='name')]

打印:

[u'T. Chandler  *', 
u'K. Durant *',
u'L. James *',
u'R. Westbrook',
...
u'C. Anthony']

如果您查看 ADVANCED_URL,您会发现 url GET 参数的唯一“动态”部分是 match_idsport 参数。如果您需要使代码可重用并适用于网站上的其他页面,则需要动态填充 match_idsport。示例实现:

from bs4 import BeautifulSoup
import requests

BASE_URL = 'http://www.scoresway.com/?sport={sport}&page=match&id={match_id}'
ADVANCED_URL = "http://www.scoresway.com/b/block.teama_people_match_stat.advanced?has_wrapper=true&match_id={match_id}&sport={sport}&localization_id=www"


def get_match(sport, match_id):
# basic
r = requests.get(BASE_URL.format(sport=sport, match_id=match_id))
soup = BeautifulSoup(r.content)

for x in soup.findAll('table')[1].findAll('tr')[-1].findAll('td'):
print ''.join(x.findAll(text=True))

# advanced
response = requests.get(ADVANCED_URL.format(sport=sport, match_id=match_id))
soup = BeautifulSoup(response.text)
print [td.text.strip() for td in soup('td', class_='name')]


get_match('basketball', 45926)

关于javascript - 包含 Javascript 的 Python Beautifulsoup 抓取页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941642/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com