【发布时间】:2021-10-08 22:57:55
【问题描述】:
在我的数据库中,我存储来自自定义 CMS 的 WYSIWYG 编辑器的 HTML。 内容是英文的,我想使用 Beautifulsoup 来遍历每个元素,将其内容翻译成德语(使用另一个类 Translator)并用翻译后的文本替换当前元素的值。
到目前为止,我已经能够为 p、a、pre 结合 Beautifulsoup 的 .findAll 功能提出特定的选择器,但是我已经用谷歌搜索过,我不清楚如何简单地完成所有操作元素并动态替换其内容,而不必根据特定类型进行过滤。
编辑器生成的涵盖所有不同类型的 HTML 的一个非常基本的示例:
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<p>Normal text</p>
<p><strong>Bold text</strong></p>
<p><em>Italic text </em></p>
<p><br></p>
<blockquote>Quote</blockquote>
<p>text after quote</p>
<p><br></p>
<p><br></p>
<pre class="code-syntax" spellcheck="false">code</pre>
<p><br></p>
<p>text after code</p>
<p><br></p>
<p><a href="https://google.com/" target="_blank">This is a search engine</a></p>
<p><br></p>
<p><img src="https://via.placeholder.com/350x150"></p>
bs4 文档将我指向replace_with 函数,如果我只能逐个选择每个元素,而不必专门选择某些内容,这将是理想的选择。
欢迎指点????
【问题讨论】:
标签: python html beautifulsoup html-parsing