天天看点

爬虫学习路程

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等架构;