无法在页面上找到 div 类

我无法在以下代码中找到 div 类。


网址如下:


https://www.oddsportal.com/basketball/usa/nba/los-angeles-lakers-miami-heat-IqLamQfL/#over-under;1


我的代码如下:


html_doc = urllib.request.urlopen(new_url).read()

odds_soup = BeautifulSoup(html_doc, 'html.parser')

table_header = odds_soup.find_all('div', {'id' : "odds-data-table", 'class' : 'bt-2'})

list = []

table_containers = []

for tag in table_header:

    table_containers += tag.find_all('div', {'class' : 'table-container'})

但代码只返回 table_containers 的空列表。我不知道为什么,非常感谢一些帮助。


经查看该网站,它看起来像这样:

https://img1.sycdn.imooc.com/653a27440001014204450668.jpg

眼眸繁星
浏览 170回答 3
3回答

喵喔喔

您找不到它的原因是您table_header没有找到任何东西,而您没有从您那里得到任何东西的原因table_header 是因为您有404状态代码。您只需执行 a.status_code并打印即可检查您的状态代码。来源维基百科HTTP 404、404 Not Found、404、404 Error、Page Not Found、File Not Found 或 Server Not Found 错误消息是超文本传输协议 (HTTP) 标准响应代码,在计算机网络通信中,表示浏览器已能够与给定服务器通信,但该服务器找不到什么...我对你的代码做了一些修改并打印了它,status code它说404。import requestsfrom bs4 import BeautifulSouplink = "https://www.oddsportal.com/basketball/usa/nba/los-angeles-lakers-miami-heat-IqLamQfL/#over-under;1"html_doc = requests.get(link)print(html_doc.status_code)odds_soup = BeautifulSoup(html_doc.content, 'html5lib')table_header = odds_soup.find('div',{"id":"odds-data-table"})'''list = []table_containers = []for tag in table_header:    table_containers += tag.find_all('div', {'class' : 'table-container'})'''输出:404[Finished in 2.1s]

浮云间

只需选择它们即可:soup.find_all("div", class_="table-header-light odd first")

慕哥9229398

为此需要使用 selenium 并传递到 BS4。然后 .append() 到您的列表或打印它。driver = webdriver.Chrome()driver.get('https://www.oddsportal.com/basketball/usa/nba/los-angeles-lakers-miami-heat-IqLamQfL/#over-under;1')odds_soup = BeautifulSoup(driver.page_source , 'html.parser')table_header = odds_soup.find_all("div", class_="table-header-light odd first")for tag in table_header:&nbsp; &nbsp; print(tag)显示器<div class="table-header-light odd first"><strong><a href="" onclick="page.togleTableContent('P-201.50-0-0',this);return false;">Over/Under +201.5 </a></strong><span class="avg chunk-odd-payout"></span><span class="avg chunk-odd nowrp"></span><span class="avg chunk-odd nowrp"></span><span class="odds-cnt">(0)</span><span class="odds-co"><a class="more" href="" onclick="page.togleTableContent('P-201.50-0-0',this);return false;">Compare odds</a></span></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python