我有一些 html,在浏览器中显示为:
(239 × 340 像素,文件大小:29 KB,MIME 类型:image/jpeg)
我可以将它从源 html 中取出并放入新的 html 文档中:-
file_details = self.soup.body.find("div", {"id": "file"})
self.new_soup.body.insert(3, file_details)
如果我将 file_details 项目打印到终端上,我可以看到我想要的字符串。
当我渲染 new_soup html 时,我得到:-
- (239 × 340 像素,文件大小:29 KB,MIME 类型:image/jpeg)
查看生成的 html,我可以看到额外的字符已添加到标记中。
我不确定它们来自哪里,但猜测我要么使用错误的编码读取,要么在某个地方使用错误的编码写入
有什么建议吗?
最佳答案
感谢评论中的 iljau,我修复了它。
在准备保存语句时,我使用了错误的编码进行美化。
是:-
html = soup.prettify("utf-8")
固定它变成:-
html = soup.prettify("latin-1")
关于Python BeautifulSoup - 复制到新文件时字符被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356638/