使用BeautifulSoup后HTML出现混乱

2024-04-25 23:30:07 发布

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

我正在下载一个带有urllib2的页面并将其加载到BeautifulSoup中:

from bs4 import BeautifulSoup as Soup
import urllib2
baseHTML = 'http://forums.macrumors.com/'
baseForum = 'forumdisplay.php?f=109'
forumHTML = urllib2.urlopen(baseHTML+baseForum).read()
page = Soup(forumHTML)
print forumHTML
print page

当打印forumHTML时,一切正常,得到返回的html也完全正常。在

但是,在打印page时,HTML在此时会出现混乱:

^{pr2}$

如您所见,beauthoulsoup在错误的位置添加了一个>,原因不明。 这是forumHTML中相同的HTML:

<a href="showthread.php?t=324487" id="thread_title_324487">iPhone Tips and Tricks thread</a>
<span class="smallfont" style="white-space

为什么会这样?如果有关系的话,我在Windows64位上使用Python2.7。在


Tags: fromimporthtmlpage页面urllib2threadphp
2条回答

我在Google places页面上也遇到了类似的问题,没有添加任何符号,但是在html代码中引入的空白也有同样的问题。。。重新安装BeauthoulSoup也没能成功:)

不管怎样,我回到beauthoulsoup4文档,阅读了它支持的不同HTML解析器,并尝试了Python的html.parser在

from bs4 import BeautifulSoup

...

page = BeautifulSoup(markup, "html.parser")

问题解决了。如果您遇到这个问题,您可能需要使用一个受支持的HTML解析器。在

由于很久没有找到解决方案,我决定重新安装BeautifulSoup——它以某种方式解决了这个问题。在

相关问题 更多 >