今天想爬百度图片搜索,但因为爬出来的链接乱七八糟,有些打不开,对于我这个完美主义者而言,这实在是太残酷,但我还是把爬虫过程的核心部分——解密URL给记录下来了。
下图是捕获的json数据的其中一条数据:
图中蓝色框框中的内容就是图片的源URL,只是被百度加密了,我在网上查了一下,找到了一篇文章,我改变了解密方式,代码如下:
from string import maketrans # 解密URL def decode_url(url): in_table = '0123456789abcdefghijklmnopqrstuvw' out_table = '7dgjmoru140852vsnkheb963wtqplifca' translate_table = maketrans(in_table, out_table) mapping = {'_z2C$q': ':', '_z&e3B': '.', 'AzdH3F': '/'} for k, v in mapping.items(): url = url.replace(k, v) return url.translate(translate_table)