gpt4 book ai didi

python - 如何让 BeautifulSoup 将 textarea 标签的内容解析为 HTML?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:33 25 4
gpt4 key购买 nike

在 3.0.5 之前,BeautifulSoup 曾经将 <textarea> 的内容视为 HTML。它现在将其视为文本。我正在解析的文档在 textarea 标签内有 HTML,我正在尝试处理它。

我试过:

    for textarea in soup.findAll('textarea'):
contents = BeautifulSoup.BeautifulSoup(textarea.contents)
textarea.replaceWith(contents.html(text=True))

但是我遇到了错误。我在文档中找不到这个,替代解析器也没有帮助。有人知道如何将文本区域解析为 HTML 吗?

编辑:

示例 HTML 是:

<textarea class="ks-lazyload-custom">
<div class="product-view product-view-rug">
Foobar Womble
<div class="product-view-head">
<img src="tps/i1/fo-25.gif" />
</div>
</div>
</textarea>

错误是:

File "D:\src\cross\tserver\src\tools\sitecrawl\BeautifulSoup.py", line 1913, 
in _detectEncoding '^<\?.*encoding=[\'"](.*?)[\'"].*\?>').match(xml_data)
TypeError: expected string or buffer

我正在寻找一种获取元素、提取内容、使用 BeautifulSoup 解析它们、将其折叠成文本,然后用该文本替换原始元素的内容(或替换整个元素)的方法。

至于现实世界与规范,实际上在这里并不是特别相关。需要解析数据,我正在寻找这样做的方法。

最佳答案

这似乎工作得很好(如果我正确理解你想要什么):

for textarea in soup.findAll('textarea'):
contents = BeautifulSoup.BeautifulSoup(textarea.contents[0]).renderContents()
textarea.replaceWith(contents)

关于python - 如何让 BeautifulSoup 将 textarea 标签的内容解析为 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2665390/

25 4 0