Python BeautifulSoup - 复制到新文件时字符被破坏

标签 python beautifulsoup

我有一些 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/

相关文章:

python - 使用 selenium、bs4 或 requests 从交互式图表中抓取数据

python - 从 Beautiful Soup 上的类型 'Navigable String' 和 'Tag' 中提取文本

python - 找不到主机 : Fabric

python - "i"在 Python .pyi 扩展中代表什么?

python - Numpy unwrap 忽略 NaN

python - 将网络抓取结果加载到 Pandas DataFrame 中

python - spaCy 模式匹配 - OR 语句

python - 在Python中拦截和过滤对HTTPS服务器的请求?

python - 访问html标签中的特定表

python - 安装 easy_install,并不容易