想转行的菜鸟 2024-06-10 21:47 采纳率: 75%
浏览 5
已结题

爬取猫眼票房数字编码问题,请教解码

我在爬取猫眼票房的时候,网站对数字进行了编码
页面显示的数字:2047.87
JS文件显示的内容:.

JS文件将字符串进行了HTML实体编码,请教一下,如果才能翻译成正常的数字

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-06-10 21:47
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据你提供的信息,JS文件中的HTML实体编码采用了Unicode编码的形式,即&#xXXXX;,其中XXXX是十六进制的Unicode码点。要将这些编码转换为正常的数字,首先需要将这些十六进制的码点转换为十进制,然后根据转换结果进行相应的解码。

    以下是解码的步骤:

    1. 将每个&#xXXXX;中的XXXX转换为十进制数。
    2. 将转换得到的十进制数转换为对应的字符。
    3. 将得到的字符组合起来,形成原始的数字字符串。

    具体到你的例子:

    •  对应的十进制是 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编码解码 - 在线工具大全]^1^
    • [HTML实体编码]^2^
    • [Html编码解码 - 工具匠]^3^
    • [在线Html实体编码解码-HTML Entity Encoding/Decoding]^4^
    • [HTML 编码/解码—LZL在线工具]^5^
    • [HTML实体编码/解码 | RAKKOTOOLS - ラッコツールズ]^6^
    • [HTML Entity Encoding/Decoding· 开发者工具箱]^7^
    • [HTML 实体编码 - 解码 - Simple Tools]^10^

    这些工具和网页可以帮助你更好地理解HTML实体编码和解码的过程,并提供了在线工具来转换编码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日
  • 创建了问题 6月10日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏