【发布时间】:2019-06-28 05:26:30
【问题描述】:
我正在尝试使用 Python 从开放站点上的表中进行网络抓取。我已经检查以确保它将使用命令“page_soup.p”连接到该站点,并获得了带有“p”标签的项目的返回。
当我检查以确保我的抓取标签与命令 containers[0] 一起工作时,我遇到了:
Traceback(最近一次通话最后一次)
文件“”,第 1 行,在
IndexError: 列表索引超出范围"
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://overwatchleague.com/en-us/stats'
# opening up connect, grabbing the page
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
# html parsing
page_soup = soup(page_html, "html.parser")
# grabs each player
containers = page_soup.findAll("tr",{"class":"Table-row"})
该标签应该有大约 183 行,显然 0 不是我所期望的。对我的不当行为有任何了解吗?
【问题讨论】:
-
一些 Javascript 库在浏览器中使用该类呈现这些行,在页面加载之后。查看页面源代码(即使在浏览器中),您会发现它们不存在,因此 BeautifulSoup 找不到它们。
标签: python web-scraping containers