在我们使用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
最终,调用函数即可啦。