次のコードでdivクラスが見つかりません。
URLは次のとおりです。
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の空のリストのみを返します。理由はわかりませんが、助けていただければ幸いです。
ウェブサイトを見ると、次のようになっています。
あなたがそれを見つけることができない理由はあなたがtable_header
何も見つけられない原因であり、あなたがあなたから何も得られない理由はあなたがステータスコードtable_header
を持っているからです404
。を実行し.status_code
て印刷するだけで、ステータスコードを確認できます。
ソースウィキペディア
HTTP 404、404 Not Found、404、404 Error、Page Not Found、File Not Found、またはServer Not Foundエラーメッセージは、コンピュータネットワーク通信におけるハイパーテキスト転送プロトコル(HTTP)の標準応答コードであり、ブラウザが特定のサーバーと通信できますが、サーバーは何を見つけることができませんでした...
私はあなたのコードにいくつかの変更を加えて印刷しました、status code
そしてそれは言う404
。なぜそれが得られているのかについての解決策については404
status code
、この答えを見てみたいと思うかもしれませんし、おそらくあなたselenium
は答えの1つとして使うことができます。幸運を!
import requests
from bs4 import BeautifulSoup
link = "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]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加