0

我正在使用 BeautifulSoup 来解析balloon-reference.com 上的数据,它适用于每一页,除了一些像这样的页面 相同的页面(不同的数据)完美地工作,即这个。我正在尝试过滤掉以“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

您可以在工作中检查 HTML Tidy:http: //validator.w3.org/

于 2012-08-01T21:37:35.307 回答