0

私はBeautifulSoupを使用してbaseball-reference.comのデータを解析していますが、このようないくつかのページを除いて、すべてのページで検索されます。同じページ(異なるデータ)は完全に機能します。つまり、これです。クラスの1つとして「stats_table」を使用してテーブルを除外しようとしています。私はこのコードを使用します:

bs = BeautifulSoup(stream, 'lxml', parse_only=SoupStrainer('table'))

そして、私は次のようになります:

for table in bs.find_all('table'):
     print table.attrs
       ... bla bla...

table.attrsから明らかなように、このコードはバッティングテーブルとピッチングテーブルを認識せず、そこにあります...繰り返します。同じコードは、このような他のほとんどすべてのページで正常に機能します。str(bs)を見ると、次のことがはっきりとわかります。

何か案は?

4

1 に答える 1

1

コメントに投稿したように、ページにエラーがあります。HTML Tidyを使用してクリーンアップする必要があります:http://pypi.python.org/pypi/pytidylib/0.2.1

仕事でHTMLTidyをチェックできます:http://validator.w3.org/

于 2012-08-01T21:37:35.307 に答える