【发布时间】:2012-08-01 20:56:10
【问题描述】:
我正在使用 BeautifulSoup 来解析棒球参考网站上的数据,它适用于每个页面,除了像 this one 这样的少数页面,相同的页面(不同的数据)可以完美地工作,即 this one。 我正在尝试过滤掉以“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) 清楚地表明
有什么想法吗?
【问题讨论】:
-
你能解释一下你所说的击球台是什么意思吗?哪些你没有看到,我看到的是
TorontoBlueJaysbatting和其他人? -
是的,没错……两者都没有被检测到,也没有被检测到。我现在在萤火虫中打开了页面,它似乎有错误......关于如何自动修复它们的任何想法?流浪的头端标签似乎是问题,但我不知道如何准确修复它
标签: python parsing html-parsing beautifulsoup