当前位置: 首页 > 面试题库 >

BeautifulSoup返回意外的额外空间

董高洁
2023-03-14
问题内容

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

希望这可以帮助,



 类似资料:
  • 问题内容: 我正在使用kubernetes python客户端。如果我的代码启动时kubernetes不可用,我想重试连接。 当客户端无法连接时,它会抛出一个异常,因此我从以下内容开始: 但这完全失败了;它的行为就像没有任何声明,并且可以解决: 我以为也许我不像我想象的那样理解继承,所以我将上述内容替换为: 以相同的方式失败。为了弄清楚发生了什么,我添加了一个包罗万象并调用pdb: 从提示符处,我

  • 我使用了以下映射:我修改了英语分析器来使用ngram分析器,如下所示,这样我应该能够在以下情况下进行搜索:1]部分搜索和特殊字符搜索2]以获得语言分析器的优势 将我的数据索引如下:

  • 对于这些样式,如果我增加宽度,元素将从左侧增长。这意味着getBoundingClientRect()。在我调整宽度后,该元素的右边应该有相同的值。 但是当我使用javascript来增加宽度时,情况就不一样了。为什么不呢? 当鼠标在元素上移动时,我会增加宽度,如下所示: 每次的输出都是不同的。

  • 我已经以编程方式创建了,但它下面有一些额外的空间(准确地说是29像素)。 以下是初始化表的方式: 以下是限制条件: 我尝试将页脚视图设置为零,并将其高度返回零: 我动态改变它的高度,根据内容: 我还将设置为。这就是最终的结果。单元格和空白之间有分隔符,但底部不是单元格。

  • 我的tableview在底部有一个额外的空间,如图所示: tableView中的所有行都具有71pt的固定高度。

  • 问题内容: 我正在尝试使用Java的SimpleDateFormat来解析带有以下代码的日期字符串。 我期待一些解析错误。但有趣的是,它打印以下字符串。 无法推理出来。有人可以帮忙吗? 谢谢 问题答案: 已将其解析为 月份 号2011,因为month()是日期模式的第一部分。 如果将2011个月加到28年,则得到195年。 2011个月是167年零7个月。七月是第七个月。您将02指定为日,将28指