BeautifulSoup返回意外的额外空间

发布于 2021-01-29 18:27:46

我正在尝试使用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 <

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我相信这是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

    希望这可以帮助,



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看