beauthulsoup,Python和HTML自动页面截断?

2024-09-28 10:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python和BeautifulSoup来解析HTML页面。不幸的是,对于某些页面(>400K),BeatifulSoup正在截断HTML内容。在

我使用以下代码来获取“div”集:

findSet = SoupStrainer('div')
set = BeautifulSoup(htmlSource, parseOnlyThese=findSet)
for it in set:
    print it

在某一点上,输出看起来像:

correct string, correct string, incomplete/truncated string ("So, I")

不过,htmlSource包含字符串“So,I am dolled”和其他许多字符串。另外,我想指出,当我prettify()树时,我看到HTML源代码被截断。在

你知道我怎么解决这个问题吗?在

谢谢!在


Tags: 字符串代码div内容stringsohtmlit
2条回答

尝试使用^{}。它是一个更快、更好的html解析器,并且比最新的beauthoulsoup更好地处理损坏的html。它可以很好地处理示例页面,解析整个页面。在

import lxml.html

doc = lxml.html.parse('http://voinici.ceata.org/~sana/test.html')
print len(doc.findall('//div'))

上面的代码返回131个div。在

我在beautifulsoup-where-are-you-putting-my-html使用BeautifulSoup找到了这个问题的解决方案,因为我认为它比lxml简单。在

您只需安装:

pip install html5lib

并将其作为参数添加到BeautifulGroup:

^{pr2}$

相关问题 更多 >

    热门问题