爬虫了解

爬虫流程

使用浏览器驱动器或者app驱动器,模拟人工操作,获取接口响应或者有意义的DOM数据;对数据进行解析;解析结果存入到数据库。
这个过程的难点是:验证码处理,ip代理池,cookie池。

验证码处理

验证码有图形验证码,滑动验证码,宫格验证码,点触验证码。

  • 图形验证码破解思路是使用灰阶ocr识别。
  • 滑动验证码破解思路是图片对比,得出缺口位置,模拟人类滑动。
  • 宫格验证码破解思路是图片对比,模拟人类滑动。
  • 点触验证码破解思路是借助打码平台。

ip代理池

代理池由获取模块,存储模块,检测模块,接口模块组成。
从免费或付费服务获取ip,存入数据库。定时对其检测可用性。并提供服务接口给其它程序使用。

cookie池

代理池由获取模块,存储模块,检测模块,接口模块组成。
用用户名和密码获取cookie,存入数据库。定时对其检测可用性,若失效则更新cookie。并提供服务接口给其它程序使用。

爬虫的分布式架构

架构思路是一个服务器负责维护爬取队列,多个服务器负责爬虫调度服务。
难点是爬取队列的去重算法。

参考:
《Python3网络爬虫开发实战》

你可能感兴趣的:(爬虫了解)