我正在尝试使用 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\"> G i u s e p p e l a b a t e g m ? no n v or re m monuoviuccellicchiamatilontre
我相信这是 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