写爬虫老手了。
首先从宏观上将,抢鞋机器人(下称爬虫)就是模拟的人的操作。
从网络层面上讲,人抢鞋和爬虫抢鞋,理论上讲都是发送网络请求。通俗点讲,就是通过网络请求告诉服务器你要干什么。
所以要实现一个抢鞋爬虫只需要以下三步:
第一步,搞清楚这个网络请求,都有什么。
这个通常用的方法是网络抓包,使用Wireshark或者fiddler进行数据包抓取。初学者建议使用fiddler。这里有一点要注意,就是如何抓取https的包,关于https的包和http的包的区别,自行搜索,现在一般都是https的包了。
这你抓到的数据主要有以下几点:
1请求的路径,也就是所说的接口,或者外行叫的网址。
2请求方法,post还是get或者put等。
3请求的header。这里注意,header里面的内容是很重要的除了Cookie和Authorization这两个字段特别以外,其余的直接拿去抄就行了。
这两个特别的地方在于,有的地方使用的jwt,通过Authorization字段进行身份验证,有的则是通过cookie标识登录状态,不同的网站不一样。
4.请求的数据。顾名思义,请求的数据就是发送给服务器什么内容。这里面高阶的接口都会增加校验信息,一个最简单的逻辑,就是将现有的参数+salt进行一个md5作为sign传过去。如果你不知道salt的值的话,想伪造数据就有点麻烦,可能需要你反编译软件找到对应的签名算法。
第二步,伪造请求
当你完全你搞清楚上面各项内容的时候,你就需要通过代码伪造上面的所有信息。
第三步,发包,控制频率
像秒杀这种,你可能需要的高频率的请求,但是请求频率太高了,可能会被服务器认为有非法请求嫌疑进行屏蔽请求,封禁Ip或者封号。所以要控制请求频率。不要太快,也不能太慢。
你可以采用启用多个线程,多个账号,使用代理多个ip去请求,这就是高阶玩法了