python – 从未知字符编码的字符串转储JSON

python – 从未知字符编码的字符串转储JSON,第1张

概述我正在尝试将 HTML从网站转储到 JSON,我需要一种方法来处理不同的字符编码. 我读过如果它不是utf-8,它可能是ISO-8859-1,所以我现在正在做的是: for possible_encoding in ["utf-8", "ISO-8859-1"]: try: # post_dict contains, among other things, website htm 我正在尝试将 HTML从网站转储到 JSON,我需要一种方法来处理不同的字符编码.

我读过如果它不是utf-8,它可能是ISO-8859-1,所以我现在正在做的是:

for possible_enCoding in ["utf-8","ISO-8859-1"]:   try:      # post_dict contains,among other things,website HTML retrIEved      # with urllib2      Json = simpleJson.dumps(post_dict,enCoding=possible_enCoding)      break   except UnicodeDecodeError:      passif Json is None:      raise UnicodeDecodeError

如果我遇到任何其他编码,这当然会失败,所以我想知道在一般情况下是否有办法解决这个问题.

我之所以尝试序列化HTML的原因是因为我需要在POST请求中将它发送到我们的NodeJs服务器.所以,如果有人有一个不同的解决方案允许我这样做(可能根本没有序列化到JsON),我也很高兴听到这个.

解决方法 无论用于发送POST请求的媒体类型如何,您都应该知道字符编码(除非您想发送二进制blob).要获取HTML内容的字符编码,请参阅
A good way to get the charset/encoding of an HTTP response in Python
.

要将post_dict作为Json发送,请确保其中的所有字符串都是Unicode(只要您收到它就将HTML转换为Unicode)并且不要将编码参数用于Json.dumps()调用.如果不同的网站(您获取HTML字符串的地方)使用不同的编码,该参数将无法帮助您.

总结

以上是内存溢出为你收集整理的python – 从未知字符编码的字符串转储JSON全部内容,希望文章能够帮你解决python – 从未知字符编码的字符串转储JSON所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存