问题标签 [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 投票
2 回答
7954 浏览

python - 我在哪里可以找到一些“hello world”——简单的 Beautiful Soup 示例?

我想用 Beautiful Soup 做一个非常简单的替换。假设我想访问页面中的所有 A 标签并将“?foo”附加到它们的href。有人可以发布或链接到如何做这样简单的事情的例子吗?

0 投票
1 回答
8166 浏览

python - 如何遍历 Beautiful Soup 元素的 HTML 属性?

如何遍历 Beautiful Soup 元素的 HTML 属性?

就像,给定:

我想要“bar”和“blah”。

0 投票
1 回答
4235 浏览

python - 使用 Beautiful Soup,我如何遍历所有嵌入的文本?

假设我想从 HTML 中删除元音:

变成

我想这是美丽汤的工作。如何选择标签之间的文本并像这样对其进行操作?

0 投票
1 回答
3953 浏览

python - 如何在 BeautifulSoup 中以 unicode 呈现标签的内容?

这是来自 WordPress 帖子详细信息页面的汤:

我想div在分配时省略封闭标签item['content']。有没有办法以 unicode 呈现标签的所有子标签?就像是:

这会给我一个 unicode 字符串而不是一个列表。

0 投票
2 回答
2123 浏览

python - Beautiful Soup 的 extract() 出错

我正在开发一些屏幕抓取软件,但遇到了 Beautiful Soup 的问题。我正在使用 python 2.4.3 和 Beautiful Soup 3.0.7a。

我需要删除一个<hr>标签,但它可以有许多不同的属性,所以一个简单的 replace() 调用不会删除它。

给定以下html:

以及以下代码:

输出是:

我是否误解了提取功能,或者这是 Beautiful Soup 的错误?

0 投票
3 回答
95635 浏览

python - 使用 BeautifulSoup 查找包含特定文本的 HTML 标签

我正在尝试获取包含以下文本模式的 HTML 文档中的元素:#\S{11}

因此,前一个将通过使用匹配:

结果将是这样的:

我能够得到所有匹配的文本(见上一行)。但我希望文本的父元素匹配,所以我可以使用它作为遍历文档树的起点。在这种情况下,我希望所有 h2 元素都返回,而不是文本匹配。

想法?

0 投票
1 回答
425 浏览

python - 我可以根据我对文档的分析在将文档转换为文本之前在 BeautifulSoup 中对文档进行分段吗?

我有一些要转换为文本的 html 文件。我玩过 BeautifulSoup 并在理解如何使用说明以及可以提交 html 和取回文本方面取得了一些进展。

但是,我的文件有很多使用表格结构格式化的文本。例如,我可能有一段文本位于一组表标签中的 td 标签中

然后是“经典表格”,表格主体中有数据。

我希望能够将算法应用于表格并设置一些规则来确定表格是否在我将文档转换为文本之前被撕掉。

我已经弄清楚如何获取我的表格的特征 - 例如获取每个表格中的列数:

所以我可以对 numbCols 进行操作,并使用列表中每个项目的 len 和列表中每个项目的值来分析我的表的特征并确定我想要保留或丢弃的那些。

我没有看到将这些信息与 BeautifulSoup 一起使用来获取文本的优雅方式。我想我想要得到的是假设我分析 numbCols 并决定我想排除表 2、4、6 和 9 的特定文档中的十个表。所以 html 文档的部分包括除那些之外的所有内容表。我怎么能这样分割我的汤?

我想出的解决方案是首先使用 finditer 确定每个打开和关闭表标签的位置并获取跨度,然后使用 numbCols 压缩跨度。然后我可以使用这个列表将我的字符串片段剪断并连接在一起。完成后,我可以使用 BeautifulSoup 将 html 转换为文本。

我确信我应该能够在 BeautifulSoup 中完成所有这些工作。任何对现有示例的建议或链接都​​会很棒。我应该提一下,我的源文件可能很大,而且我要处理数千个文件。

没有答案,但我越来越近了

0 投票
4 回答
281 浏览

python - 我应该实现 BeautifulSoup 和 REGEX 的混合使用还是完全依赖 BS

我有一些需要从 html 文件集合中提取的数据。我不确定数据是否驻留在 div 元素、table 元素或组合元素中(其中 div 标签是 table 的元素。我见过所有三种情况。我的文件大到 2 mb 和我有数万个。到目前为止,我已经查看了表格中的 td 元素并查看了孤独的 div 元素。在我看来,最长的时间是文件被汤化,超过 30 秒。我尝试创建一个正则表达式来查找我要查找的数据,然后查找下一个关闭标记表、tr、td 或 div 以确定我的文本包含在哪种类型的结构中。找到匹配的打开标记,剪切该部分,然后将其全部包装在打开和关闭 HTML 标记中

所以我创建了一个看起来像这样的字符串:

然后我包装字符串

然后使用 BeautifulSoup

然后我可以访问 BeautifulSoup 的强大功能,用 newString 做我想做的事。

这比首先测试所有表格的所有单元格内容直到我找到我的文本并且如果我找不到它那里测试所有 div 内容的替代方法运行得快得多。

我在这里错过了什么吗?

0 投票
2 回答
3544 浏览

python - 美丽的汤和uTidy

我想将utidy的结果传递给 Beautiful Soup,阿拉:

运行时,出现以下错误:

我收集 utidy 返回一个 XML 文档,而 BeautifulSoup 需要一个字符串。有没有办法投射clean_html?还是我做错了,应该采取不同的方法?

0 投票
2 回答
585 浏览

python - 在 Beautiful Soup 中使用 replaceWith 时动态指定标签

之前我问过这个问题,得到了这个 BeautifulSoup 示例代码,在当地咨询了一些之后,我决定继续使用。

唯一的问题是该示例具有硬编码的标记值(在本例中为“模式”),并且我需要能够在指定的“链接”标记中指定任何标记。简单的变量替换似乎不起作用。