htmldom:用于测试编码/解码的良好测试网页

2024-09-28 20:48:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我要做的是:

  • 通过javascript读取网页的DOM
  • 转换为json字符串
  • 作为ajax发送到python
  • 在Python中,json将字符串解码成对象

我希望json中的任何文本都使用unicode,以避免任何字符问题。我以前用beautifulsoup来做这个:

from bs4 import * 
from bs4.dammit import UnicodeDammit
text_unicode = UnicodeDammit(text, [None, None], "html", True).unicode_markup

但这对json字符串不起作用。在UnicodeDammit中运行字符串在我尝试对其进行json解码时会导致错误。你知道吗

问题是,我甚至不确定收集DOM是否能自动处理这个问题。你知道吗

对于初学者,我想因此一系列的测试网页来测试这一点。其中一个是用utf-8编码的,另一个是用别的东西编码的,等等,如果你认为它是utf-8,而不是,那么它使用的字符看起来是错误的。请注意,我甚至不考虑网页的声明编码。这常常是错误的。你知道吗


Tags: 字符串textfromimportnonejson网页编码
1条回答
网友
1楼 · 发布于 2024-09-28 20:48:56

你在试图解决一个不存在的问题。你知道吗

浏览器负责检测和处理网页编码。它将根据服务器头、HTML页面中的元标记和简单的猜测(如果需要)来确定正确的编码。DOM提供Unicode数据。你知道吗

JSON处理Unicode数据;将JSON数据发送到Python进程会发送适当编码的字节数据,任何像样的JSON库都会将这些字节数据转换回Unicode值。Pythonjson模块就是这样一个库。你知道吗

只需按原样用json.load()json.loads()函数从JavaScript脚本加载数据即可。您的浏览器已经使用了正确的编码(很可能是UTF-8),Python json模块将对所使用的任何标准编码进行解码,而无需额外的配置或处理。你知道吗

相关问题 更多 >