【发布时间】:2020-06-25 02:01:35
【问题描述】:
这是我要抓取的链接:https://stats.nba.com/teams/traditional/?sort=W_PCT&dir=-1
所以当我这样做时:
def roster(URL):
res = requests.get(url)
text = res.text
soup = bs4.BeautifulSoup(text, 'html.parser')
print (soup)
我抓取的 HTML 不包含实际的表格。例如,我正在寻找:
<div class="nba-stat-table__overlay" fata-fixed="2" role=grid">
那么我如何才能真正找到它呢?请帮忙!
【问题讨论】:
-
如果类名没有改变,请尝试通过标签的类名获取标签。
soup.findAll("div", {"class": "nba-stat-table__overlay"}) -
所以当我在网页上点击检查时,它不会显示我想要的课程。只有当我点击表格时,它才会找到类。这是为什么呢?
-
该页面正在使用 angularjs 框架,我们正在寻找的表格数据是在主页加载后延迟加载的组件,这就是它没有出现在响应中的原因。现在有两种选择。如果可能的话,要么使用 selenium 来抓取它,要么从开发工具的网络部分获取返回表统计信息的 URL。
-
好的。您能否推荐一些我应该阅读或观看的网站或视频,以帮助我实现目标?
标签: python web-scraping python-requests