大概内容如下:
- 利用Fiddler抓包,对点击提交所传输的数据包进行分析;(划重点)
- 爬取免费代理ip网站(例如:西刺代理)发布的IP地址,构建ip地址池;
- 引用fake_useragent库的UserAgent包,获取随机User-Agent
(第2,3点都是为了构造http header,以应对网站的反爬虫机制。不过实测post太频繁,会报错:远端主机积极断开连接之类的)
小细节:
由于post地址采用https协议,所以如果直接使用requests方法来传参,将会报错(可能是证书相关的问题,这里就不深究了),那么可以通过以下方法解决:
import requests
requests.packages.urllib3.disable_warnings()#缺少将会报错警告,但好像不影响脚本运行
r = requests.post(url, headers=headers, data=data, verify=False)# verify默认是True的,所以手工设置为False,
利用Fiddler抓包,对点击提交所传输的数据包进行分析
以寄信来比喻提交过程,浏览器是寄信人,服务器是收信人,那么url就是收信地址,信件记录着基本信息和正文内容(header和body)
记录下浏览器传参t的目的url
查看header中包含哪些信息,收集起来,用来丰富我们构建的请求头
我们可以看到使用post方法传参,url,请求头 以及 submitdata内容(编码后的)
看到经解码的参数,分析submitdata 参数,可能是由题目以及所选选项的序号组成的