私は現在、Python 3.6でリクエストとBeautifulSoupモジュールを使って練習しようとしています。他の質問と回答の情報を見つけることができないという問題が発生しました。美しいスープはタグを見つけることができません
ページのある時点で、Beuatiful SoupがタグとIDの認識を停止しているようです。私はこのようなページから実況データを取得しようとしています:Chromeでインスペクタを使用して
http://www.pro-football-reference.com/boxscores/201609080den.htm
import requests, bs4
source_url = 'http://www.pro-football-reference.com/boxscores/201609080den.htm'
res = requests.get(source_url)
if '404' in res.url:
raise Exception('No data found for this link: '+source_url)
soup = bs4.BeautifulSoup(res.text,'html.parser')
#this works
all_pbp = soup.findAll('div', {'id' : 'all_pbp'})
print(len(all_pbp))
#this doesn't
table = soup.findAll('table', {'id' : 'pbp'})
print(len(table))
、私はテーブルが間違いなく存在していることがわかります。私はまた、HTMLの後半で 'div'や 'tr'に使用しようとしましたが、うまくいかないようです。私は標準の 'html.parser'とlxmlとhtml5libを試しましたが、何も動作していないようです。
ここで何か間違っているのですか、またはHTMLやその書式設定にBeautifulSoupが正しくタグを見つけられないようなことがありますか?私はこの会社(hockey-reference.com、basketball-reference.com)が運営する同様のページで問題にぶつかりましたが、他のサイトでこれらのツールを適切に使用することができました。
HTMLと何か関係がある場合は、そこにこの情報を抽出するのに役立つツールやライブラリがありますか?
は、あなたの助けのために[OK]を BF
そのテーブルから正確にどのように解析しますか? すべてのテーブル?いくつかの列だけ?いくつかの細胞? –
あなたのステートメント 'table = soup.findAll( 'table'、{'id': 'pbp'})'は_not working_ではなく、 'id = pbp'を使って要素を見つけていません。 –
@DmitriyFialkovskiy私は最終的に特定のゲームからの劇のExcelファイルを作成しようとしています。私がそのテーブルでスープをゼロにすることができたら、trとtdタグを使ってテキストを抜き出し、openpyxlを使ってExcelに変換することができると確信しています。私は最終的に私の質問は、bs4がhtmlでタグを見つけられない理由だと思う。 bs4はhtmlのコメントの前にタグを見つけることができますが、コメントは解析に影響しません。そのコメントの後にタグを正確に引き出す方法はありますか? –