gpt4 book ai didi

python - 如何将 bs4.element.ResultSet 转换为字符串? python

转载 作者:行者123 更新时间:2023-12-04 07:54:13 26 4
gpt4 key购买 nike

我有一个简单的代码,如:

    p = soup.find_all("p")
paragraphs = []

for x in p:
paragraphs.append(str(x))

我正在尝试转换从 xml 获得的列表并将其转换为字符串。我想保留它的原始标签,以便我可以重用一些文本,这就是我像这样附加它的原因。但是该列表包含超过 6000 个观察值,因此由于 str 出现递归错误:

“运行时错误:调用 Python 对象时超出了最大递归深度”

我读到您可以更改最大递归,但这样做并不明智。我的下一个想法是将到字符串的转换分成 500 个批次,但我确信必须有更好的方法来做到这一点。有人有什么建议吗?

最佳答案

这里的问题可能是the document底部的一些二进制图形数据。包含字符序列 <P ,Beautiful Soup 试图将其修复为实际的 HTML 标记。我还没有确定是哪个文本导致了“超出递归深度”错误,但它就在那里。它是 p[6053]对我来说,但由于您似乎对文件进行了一些修改(或者您可能对 Beautiful Soup 使用了不同的解析器),我想对您来说会有所不同。

假设您不需要文档底部的二进制数据来从实际 <p> 中提取您需要的任何内容。标签,试试这个:

# boot out the last `<document>`, which contains the binary data
soup.find_all('document')[-1].extract()

p = soup.find_all('p')
paragraphs = []
for x in p:
paragraphs.append(str(x))

关于python - 如何将 bs4.element.ResultSet 转换为字符串? python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20968562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com