解密百度图片URL

今天想爬百度图片搜索,但因为爬出来的链接乱七八糟,有些打不开,对于我这个完美主义者而言,这实在是太残酷,但我还是把爬虫过程的核心部分——解密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)
原文地址:https://www.cnblogs.com/yestreenstars/p/5587698.html