1、基本的爬虫工作原理
2、基本的http抓取工具,scrapy
3、Bloom Filter
4、如果需要大规模网页抓取,你需要学习分布式爬虫的概念。维护一个所有集群机器能够有效分享的分布式队列。
最简单的实现是python-rq: https://github.com/nvie/rqrq和Scrapy的结合:https://github.com/rolando/scrapy-redis
5、后续处理,网页析取(grangier/python-goose · GitHub),存储(Mongodb)
为什么学爬虫?为什么用python?
爬虫应用;
python效率高;
了解python基础
list、dict;
爬下来的数据要用python的数据框架来存储,list、dict是基础;另外还需要numpy、pandas;
学习python的数据框架推荐书籍:利用python进行数据分析;
学习http基础
爬虫的一些python包
urllib、urllib2、requests、BS4、scrapy、pysider;
推荐使用request(负责连接网站、处理http协议)、BS4(负责将网页变为结构化数据,方便爬取);
正则表达式;
到此==》可以爬取一些静态网站;
动态网站爬取
1)selenium/ghost控制浏览器;
2)chrome及其他抓包功能的浏览器来查看网页加载时的交互,然后requests进行表单的提交并爬取js;
到此==》可以爬取动态网页
反爬虫策略
PIL
opencv
pybrain
打码平台
python数据库连接
存储爬到的数据;
mysql
mongodb
sqllite
爬取的数据分析
numpy数据分析
python web开发框架
展示爬到的数据:django、flask等web开发框架;
爬取效率
多线程;
代理ip池;
scrapy、pysider等架构;