Python3网络爬虫开发实践读书笔记 --- 第十章 模拟登录

这一系列文章是我在阅读“Python3网络爬虫开发实践”一书以及其他线上资料学习爬虫过程中的一些笔记和心得,希望能分享给大家。

章节概述:如何爬取需要登陆的网站

章节结构

  • 模拟登录
  • Cookie池

具体内容:

  • 模拟登录

1.登录过程:
通过浏览器开发者工具的preserve log看提交登陆后的日志。提交一个登录request,方法为POST,请求包含两部分Form Data和Headers,Headers包含Cookies,Host,Origin,Referer,User-Agent。Form Data包含login,password,utf8,commit(值是sign in),authenticity_token.其中Cookie和验证token需要我们通过一个get请求来获取初始值。
有了登录请求需要的变量,我们通过实现login方法,在其中设定post需要的初始data。

  • Cookie池

Cookie池作用是保存大量的登录信息Cookie,并且实时检查这些信息的可用性,定期清理,如果失效则重复上面的模拟登录获取新的Cookie信息。
Cookie池 = 获取模块 + 存储模块 + 检测模块 + 接口模块
实现技术:Redis
存储模块:实现set,get,delete,count,random和usernames等方法
获取模块:实现login的模拟,生成cookie,并且返回字典类型的结果表示是否获取成功。
检测模块:通过遍历cookies,检测redis中登录信息的有效性。
接口模块:get_cookie_connect信息。

本书具体代码实现 https://github.com/Python3Web...

你可能感兴趣的:(python,网页爬虫,读书笔记)