问题标签 [beautifulsoup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2438 浏览

python - BeautifulSoup 3.1 解析器太容易崩溃了

我在用 BeautifulSoup 解析一些不可靠的 HTML 时遇到了麻烦。结果表明,较新版本中使用的 HTMLParser 比以前使用的 SGMLParser 容错性差。


BeautifulSoup 有某种调试模式吗?我正试图弄清楚如何阻止它在我从一个螃蟹网站加载的一些讨厌的 HTML 上运行:

<HTTP-EQUIV...>BeautifulSoup 在标记后放弃

问题显然是 HTTP-EQUIV 标签,它确实是一个非常畸形的<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">标签。显然,我需要将此指定为自动关闭,但无论我指定什么,我都无法修复它:

是否有一个详细的调试模式,BeautifulSoup 会告诉我它在做什么,所以我可以弄清楚在这种情况下它把什么当作标签名?

0 投票
3 回答
16065 浏览

python - BeautifulSoup - 修改一段 HTML 中的所有链接?

我需要能够修改 HTML 文档中的每个链接。我知道我需要使用它,SoupStrainer但我对如何实现它并不是 100% 肯定。如果有人可以指导我找到一个好的资源或提供一个代码示例,我将不胜感激。

谢谢。

0 投票
1 回答
7892 浏览

python - BeautifulSoup 3.1.0.1 和 Python 2.5.2 的 UnicodeEncodeError

使用 BeautifulSoup 3.1.0.1 和 Python 2.5.2,并尝试解析法语网页。但是,一旦我调用 findAll,我就会收到以下错误:

UnicodeEncodeError:“ascii”编解码器无法在位置 1146 编码字符 u'\xe9':序数不在范围内(128)

以下是我目前正在运行的代码:

有人知道为什么吗?

谢谢!

更新:根据要求,以下是完整的追溯

0 投票
1 回答
298 浏览

python - 如何使用 Beautifulsoup 在一些文本中嵌入 p 标签?

我想 <p在有 \r\n\r\n 的地方嵌入 > 标签。

u“终于斯里兰卡出现了,阻止了他们的第一个 5-0 系列粉饰,并在连续 9 场 ODI 胜利中阻止了印度。\r\n\r\nYuvraj Singh 打了 62 球,打出了梦幻般的击球,让印度保持在比赛中尽管三柱门落在他周围。\r\n\r\n也许抛掷起了很大的作用。这只是 Mahela Jayawardene 在过去 11 次中第二次用硬币击败 Mahendra Singh Dhoni。\r\n\r\n它是 Jayasuriya 为斯里兰卡提供了跳板。\r\n\r\n在 Jayasuriya 被解雇后,烟火可能已经停止,但奔跑仍在以公平的速度进行。”

我尝试使用 BeautifulSoup 解决这个问题,但找不到解决方法。任何人都可以对此有所了解。提前致谢。

0 投票
4 回答
648 浏览

python - 如何从 HTML 文件中提取所需的数据?

这是我拥有的 HTML:

这是我的 Python 代码,使用 Beautiful Soup:

head_list我从 HTML 中得到了正确的,但detail_list它不起作用。

我想要这样的东西

任何帮助都是不言而喻的。提前致谢。

0 投票
2 回答
1623 浏览

python - 防止 BeautifulSoup 将我的 XML 标记转换为小写

我正在使用 BeautifulStoneSoup 来解析 XML 文档并更改一些属性。我注意到它会自动将所有 XML 标记转换为小写。例如,我的源文件包含<DocData>BeautifulSoup 转换为<docdata>.

这似乎引起了问题,因为我将修改后的 XML 文档提供给的程序似乎不接受小写版本。有没有办法在 BeautifulSoup 中防止这种行为?

0 投票
2 回答
1361 浏览

python - 使用 selectorgadget.com 解析 HTML 文件

我如何使用漂亮的汤和选择器小工具来抓取网站。例如,我有一个网站 - (一个新蛋产品),我希望我的脚本返回该产品的所有规格(点击规格),我的意思是 - 英特尔、台式机、......、2.4GHz , 1066Mhz, ...... , 3 年有限。

使用 selectorgadget 后,我​​得到了字符串- .desc

我该如何使用它?

谢谢 :)

0 投票
7 回答
8560 浏览

python - BeautifulSoup 解析的问题

我正在尝试使用 BeautifulSoup 解析 html 页面,但似乎 BeautifulSoup 根本不喜欢 html 或该页面。当我运行下面的代码时,prettify() 方法只返回页面的脚本块(见下文)。有人知道为什么会发生吗?

这是 BeautifulSoup 产生的输出。

谢谢!

更新:我正在使用以下版本,这似乎是最新的。

0 投票
2 回答
7094 浏览

python - 使用 Python 解码 HTML 实体

以下 Python 代码使用 BeautifulStoneSoup 获取托尔金的“胡林的孩子们”的 LibraryThing API 信息。

不幸的是,它打印出的不是“Húrin”,而是“Húrin”。这显然是一个编码问题,但我无法弄清楚我需要做什么才能获得预期的输出。帮助将不胜感激。

0 投票
2 回答
8087 浏览

python - BeautifulSoup 给了我 unicode+html 符号,而不是直接的 unicode。这是错误还是误解?

我正在使用 BeautifulSoup 来抓取网站。该网站的页面在我的浏览器中呈现良好:

国际乐施会的报告题为“越位! http://www.coopamerica.org/programs/responsibleshopper/company.cfm?id=271

特别是,单引号和双引号看起来很好。它们看起来是 html 符号而不是 ascii,但奇怪的是,当我在 FF3 中查看源代码时,它们似乎是正常的 ascii。

不幸的是,当我刮擦时,我得到了这样的东西

u'Oxfam International\xe2€™s报告题为\xe2€œ越位!

哎呀,我的意思是:

页面的元数据指示“iso-88959-1”编码。我尝试了不同的编码,使用了 unicode->ascii 和 html->ascii 第三方函数,并查看了 MS/iso-8859-1 的差异,但事实是 ™ 与单引号,我似乎无法将 unicode+htmlsymbol 组合转换为正确的 ascii 或 html 符号——在我有限的知识中,这就是我寻求帮助的原因。

我会很高兴使用 ascii 双引号,“或”

以下问题是我担心还有其他有趣的符号解码不正确。

下面是一些 python 来重现我所看到的,然后是我尝试过的东西。

http://groups.google.com/group/comp.lang.python/browse_frm/thread/9b7bb3f621b4b8e4/3b00a890cf3a5e46?q=htmlentitydefs&rnum=3&hl=en#3b00a890cf3a5e46

http://www.fourmilab.ch/webtools/demoroniser/

http://www.crummy.com/software/BeautifulSoup/documentation.html

http://www.cs.tut.fi/~jkorpela/www/windows-chars.html

编辑:

我尝试过使用不同的 BS 解析器:

这给了我这个

最好的案例解码似乎给了我相同的结果:

编辑2:

我正在运行带有 FF 3.0.7 和 Firebug 的 Mac OS X 4

Python 2.5(哇,不敢相信我没有从一开始就说明这一点)