【发布时间】:2019-04-18 01:44:24
【问题描述】:
由于某种原因,我无法按 id 找到表或按 id 选择表。我一直在参考 BS 的文档,据我所知它应该可以工作。
下面是尝试通过 id "per_game" 选择表格的代码示例,content.find(id='per_game') 对我也不起作用。
我一直在参考文档的查找和 CSS 选择器部分,这里:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find
import requests
import csv
import calendar
from datetime import date, datetime, timedelta
from collections import OrderedDict, defaultdict
from bs4 import BeautifulSoup as soup
season = str(date.today().year + 1)
month = calendar.month_name[date.today().month].lower()
teamUrl = "https://basketball-reference.com/teams/"
urls = [teamUrl + 'ATL/' + season +'.html'] # Atlanta Hawks
# teamUrl + 'BOS/' + season +'.html', # Boston Celtics
# teamUrl + 'BKN/' + season +'.html', # Brooklyn Nets
# teamUrl + 'CHA/' + season +'.html', # Charlotte Hornets
for url in urls:
page = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
content = soup(page.content, 'html.parser')
table = content.select("#per_game")
print(table)
非常感谢, 哦。
【问题讨论】:
-
该内容是使用 JavaScript 在客户端构建的,因此您的代码将看不到它。
-
你需要使用一些可以运行JavaScript的模块,然后你才能加载所有的数据。顺便说一句,我曾经回答过这样的问题(同一个网站,但他想抓取每个玩家的记录)
标签: python beautifulsoup