1、什么是爬虫?
抓取网页数据的程序
2、爬虫怎么爬去网页数据的呢?
① 网页三大特征
每个网页都有自己的URL(统一资源定位符)
网页都使用HTML(超文本标记语言)来描述网页信息
网页都使用HTTP/HTTPS协议来传输HTML数据
② 爬虫的设计思路
[1] 首先确定需要爬取网页的URL地址
[2] 通过HTTP/HTTPS协议来获取对应的HTML页面
[3] 提取HTML页面中有用的数据
(1) 如果是需要的数据,就保存起来
(2) 如果是页面里的其他URL,那就继续执行第 [2] 步
3、学习路线
① Python基础语法
② 如何抓取HTML页面
HTTP请求处理:urllib、urllib2、requests
处理后的请求可以模拟浏览器发送请求,获取服务器响应的文件
③ 解析服务器响应的信息
re、xpath、BeautifulSoup4(BS4)、jsonpath、pyquery等
使用某种描述性一样来给我们提取的数据定义一个匹配规则,符合该规则的数据就会被匹配
④ 如何采集动态HTML、验证码的处理
通用的动态页面采集:Selenium(自动化测试工具) + PhantomJS(无界面浏览器)
机器图像识别系统:Tesseract
⑤ Scrapy框架(Scrapy、Pyspider)
高定制性、高性能 (异步网络框架twisted)、数据下载速度非常快、提供了数据存储、数据下载、提取规则等组建
⑥ 分布式策略
scrapy-redis,以redis数据库为核心的一套组件,让Scrapy框架支持分布式的功能,主要在Redis里做“请求指纹去重、请求分配、数据临时存储”
⑦ 爬虫–反爬虫–反反爬虫 之间的斗争
4、爬虫分类:通用爬虫、聚焦爬虫
通用爬虫:搜索引擎用的爬虫系统
目标:尽可能把互联网上所有的网页都下载下来,放到本地服务器中形成备份,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户访问接口。
聚焦爬虫:爬虫程序员写的针对某种内容的爬虫