我在爬取猫眼票房的时候,网站对数字进行了编码
页面显示的数字:2047.87
JS文件显示的内容:.
JS文件将字符串进行了HTML实体编码,请教一下,如果才能翻译成正常的数字
我在爬取猫眼票房的时候,网站对数字进行了编码
页面显示的数字:2047.87
JS文件显示的内容:.
JS文件将字符串进行了HTML实体编码,请教一下,如果才能翻译成正常的数字
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
根据你提供的信息,JS文件中的HTML实体编码采用了Unicode编码的形式,即&#xXXXX;
,其中XXXX
是十六进制的Unicode码点。要将这些编码转换为正常的数字,首先需要将这些十六进制的码点转换为十进制,然后根据转换结果进行相应的解码。
以下是解码的步骤:
&#xXXXX;
中的XXXX
转换为十进制数。具体到你的例子:

对应的十进制是 58124,转换为字符是 '2'。
对应的十进制是 63398,转换为字符是 '0'。
对应的十进制是 54006,转换为字符是 '4'。
对应的十进制是 60466,转换为字符是 '7'。
和上面的相同,也是 '7'。
再次出现,同样是 '2'。组合起来就是 "2047.87"。
如果你需要在Python中实现这个解码过程,可以使用以下代码:
html_entities = ["", "", "", "", ".", "", ""]
decoded_number = ""
for entity in html_entities:
if entity.startswith("&#x"):
# 提取十六进制数并转换为十进制
char_code = int(entity[3:-1], 16)
# 将字符码转换为字符并添加到结果字符串
decoded_number += chr(char_code)
else:
# 如果不是编码形式,直接添加
decoded_number += entity
print(decoded_number) # 输出: 2047.87
关于参考资料,你可以参考以下网页,它们提供了HTML实体编码和解码的工具和信息:
这些工具和网页可以帮助你更好地理解HTML实体编码和解码的过程,并提供了在线工具来转换编码。