一、引出模拟登陆需求
-
什么场景需要使用爬虫程序进行模拟登陆需求呢 ?
- 经常爬取的内容是基于某些用户的用户信息,这些用户信息是需要进行登陆后才会跳转到用户信息当中的;
- 我们需要使用requests模块进行模拟登陆,登录后才可以进行对用户信息爬取;
-
所以接下来会对 人人网 进行模拟登陆,那么和此前的验证码识别有什么关联;
-
人人网的登陆验证码为 当连续失败登陆超过 3次以后就会弹出验证码登陆;
二、需求分析
- 需求 :对人人网进行模拟登陆
- 分析 :
1、手动对人人网 进行点击登陆,打开抓包工具,查看发起的请求,获取请求的接口信息;
2、Post请求对ajaxLogin接口请求参数分析
# 用户名
email: 15354210326
# 验证码
icode: mtk9n
origURL: http://www.renren.com/home
domain: renren.com
key_id: 1
captcha_type: web_login
# 密码
password: 6ddaf106350275c7aaee8b6d705db9cab365d2c71608f04b95d3a38401303ede
rkey: 9a2b62f121c905c1104fe9ecc17e936a
f: http%3A%2F%2Fwww.renren.com%2F976783671%2Fprofile
3、根据上述分析,如果我们想实现对人人网的模拟登陆,只需要对ajaxLogin接口发起请求,并携带正确登陆参数;
4、验证码 :每次请求都会动态变化,所以我们在模拟登陆前,需要对登陆页的验证码数据进行识别,识别的结果需要作为 对登陆接口 POST请求时一个参数;