BeautifulSoup返回意外的额外空间
我正在尝试使用BeautifulSoup从html文档中获取一些文本。在我看来,这很奇怪,它产生了一个奇怪而有趣的结果:在某一点之后,汤在文本中充满了多余的空格(空格将每个字母与下一个字母分隔开)。我试图在网络上搜索以找到原因,但是我只遇到了有关相反错误的一些消息(根本没有空格)。
您对它为什么会发生以及如何解决此问题有任何建议或提示吗?
这是我创建的非常基本的代码:
from bs4 import BeautifulSoup
import urllib2
html = urllib2.urlopen("http://www.beppegrillo.it")
prova = html.read()
soup = BeautifulSoup(prova)
print soup
这是从结果中提取的一行,此问题开始出现的行:
value = \“ Giuseppe labbate ogm?non vorremmo nuovi uccelli chiamati lontre
\”> <input onmouseover = \“ Tip(’<< cen terclass = \ 'title _ video \ '>
G iuseppelabbateogm?nonvorremmonuoviuccel lichiamatilontre <
-
我相信这是Lxml的HTML解析器的错误。尝试:
from bs4 import BeautifulSoup import urllib2 html = urllib2.urlopen ("http://www.beppegrillo.it") prova = html.read() soup = BeautifulSoup(prova.replace('ISO-8859-1', 'utf-8')) print soup
这是解决该问题的方法。我相信该问题已在lxml 3.0 alpha 2和lxml 2.3.6中修复,因此值得检查是否需要升级到较新版本。
如果您想了解有关该错误的更多信息,请先在此处提交:
https://bugs.launchpad.net/beautifulsoup/+bug/972466
希望这可以帮助,