爬虫前置知识
爬虫中要解决的问题
爬虫的采集和更新策略
解决反爬
数据解析
数据存储
模拟登陆(验证码识别)
爬虫的监控和部署
数据的驱虫(url去重,内容去重)
爬虫数据采集分类
采集对象分类
- 全网采集
- 全站采集
- 具体网站的指定数据采集
采集方案分类
- 利用http协议采集 - 页面分析
- 利用api接口采集 - app数据采集
- 利用目标网站的api采集 - 微博,github,twitter,facebook
多线程和线程池编程
并发和并行
并行是指两个或多个事件在同一时刻发生
并发石寨两个或多个时间在同一时间段发生
并行制的是多个cpu,并发主要是针对一个cpu
并发的目的是重复利用处理器的每一个核,以达到最高的处理性能
注意:IO操作所发给的时间比cpu处理时间要长很多
python的GIL真的会导致多线程慢吗?


线程池编程
from concurrent.futures import ThreadPoolExecutor
动态网站数据抓取
Selenium
- Selenium是一个用于Web应用程序测试的工具
- Selenium可以直接操作浏览器,就下个真正的用户在操作一样
- Selenium支持多种编程语言(java,python,javascript,c#,ruby),进行测试脚本的编写
- Selenium支持在多个浏览器平台上执行测试
- Selenium是一个工具集,有了这个工具集,我们可以顺利的开展自动化测试
