爬虫基于Requests + Scrapy
Requests获取Cookie,Scrapy框架通过Cookie登录爬取。
本次模拟登录使用request的会话机制维持登录状态
模拟登录流程分析:
- 手动登录,使用浏览器develop功能分析登录流程
- 根据上一步的分析结构,手动构建请求参数
- 处理验证等过程,完成登录
- 登录成功保存Cookie到文件
一. 预登陆
当键入账号后,新浪会发送ajax请求,请求参数包括Unix Timestamp ,账号使用base64计算后的su和固定参数,其中的client参数根据网上博客比较后发现是不同版本的登录JavaScript,是动态更新的。
请求发送后,返回值是包含一个json对象,包括服务器要求的一些参数。将里面的[servertime,nonce,pubkey,rsakv,pcid]提取出来,用于下一步正式登录。
二.正式登录
点检登录后,发送ajax POST请求,请求参数包含固定参数,和密码rsa加盐后的sp值,和上面获取到的参数共同构建成FormData。
postdata = {
‘entry’: ‘weibo’,
‘gateway’: ‘1’,
‘form’: ”,
‘savestate’: ‘7’,
‘qrcode_flag’: ‘false’,
‘use