赤水网站建设,做淘宝客最好的网站是什么网站,长春少儿编程培训机构,wordpress用cdn最近有朋友在做新闻资讯类的 app 爬虫#xff0c;也许大多数人都会认为#xff0c;一个新闻资讯 app 不会有什么反爬吧。
恰恰相反#xff0c;当你想爬一条新闻的时候都有请求参数加密#xff0c;可见现在反爬的严重性。
分析
国际惯例先抓包#xff0c;万幸抓包非常顺利也许大多数人都会认为一个新闻资讯 app 不会有什么反爬吧。
恰恰相反当你想爬一条新闻的时候都有请求参数加密可见现在反爬的严重性。
分析
国际惯例先抓包万幸抓包非常顺利抓包结果如下
可以看到请求头里面有加密的参数下面我们通过反编译来破解这个参数同时用 Python 代码来实现加密
这样我们才能愉快的爬爬爬
反编译破解
反编译之后我们就根据请求参数来寻找加密的源码同时需要注意下搜索的技巧
比如同一个参数如果加上引号会极大的减少我们的工作量。
可以看到同样一个参数按后面的搜索结果来找加密源码会大大减少我们的工作量
最后在第三行找到了加密参数的出处
其中在执行某某函数的地方可以点进去结果如下
md5 应该熟悉吧剩下就是找出被加密的数据了。返回再看是三个数据组合的 md5
粗略看一下这个参数是设备号不做校验我们可以直接取默认值
IMEINNNNNNNNNNNNNNN-IMSI460NNNNNNNNNNNN
再加上时间戳和一个 key。刚好和我们抓包里面的请求头那几个参数对应上
分析完之后当然是先用代码验证一下如果有问题再返回回来细看。
验证
下面是构造加密参数 signature 的算法
1encrypt f{uuid}{timestamp}f1190aca-d08e-4041-8666-29931cd89dde
其中 udid 是手机设备号和随机数按特定的方式的组合timestamp 是时间戳
1signature hashlib.md5(encrypt.encode(utf-8)).hexdigest()
上面就是 signature 的加密 。我们用代码请求一下来验证结果
能 GET 到数据说明用 python 转换后的加密算法是对的