字体反爬:图片

本文讲述了如何使用Python抓取数据时遇到的加密问题,数据以图片形式存在,通过偏移量和字体映射规则实现解码。介绍了get_font和decode_text函数在处理二进制图片数据和偏移量转换中的作用。
摘要由CSDN通过智能技术生成

在我们使用python进行数据抓取并在开发者页面进行定位时,会发现我们想要的数据都在标签里面,并没有文本数据。在标签里面有一个url地址(图1红色部分),复制该地址搜索会出现一张图片,里面有着一串数字(图2红色部分),这就说明数据进行了加密并且是以图片的形式,那么数据是以什么样子的形式进行加密呢?在图1绿色部分,-140px叫做偏移量,一种数据加密的形式,如果你对想要抓取的数据一个一个进行定位会发现,一个偏移量对应一个数字,并且偏移量以某种规律呈现。

图1

图2

分析到这,我们就可以进行数据的解析等操作。在在图3的变量中font_url2目的是构建图片地址,在后续代码中使用必须要完整地址才能够使用。在图4中,num_data变量是直接获取它的标签属性,图片的url地址以及偏移量都在标签当中

图3

图4

在调用get_font函数传入的参数分别为图片地址和构建的字体映射规则。在请求图片地址时,由于图片是一种二进制文件,而不是一种文本数据,所以,在请求时需要.content来获取

图5

在调用decode_text函数时传入的参数分别为自己构建字体映射规则和数据(即图4,变量data_list)。重写数据部分是指我们的偏移量被替换成了页面的我们看到的数据。

图6

图7

最终,调用函数即可啦。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值