一、概述
1、爬虫,应称为网络爬虫,也叫网页蜘蛛、网络机器人、网络蚂蚁等;
2、搜索引擎,就是网络爬虫的应用者;
二、爬虫分类
1、通用爬虫:常见的就是搜索引擎;
2、聚焦爬虫:有针对性的编写特定领域数据的爬取程序,是面向主题的爬虫;
三、Robots协议
简单来说就是告诉爬虫引擎什么可以爬取,“爬亦有道”;
四、爬虫的HTTP请求和响应处理
其实就是爬取网页就是通过HTTP协议访问网页,不过通过浏览器访问往往是人的行为,把这种行为变成使用程序来访问;
1、最常用的HTTP交互数据的方法是GET、POST;
1) GET方法,数据是通过URL传递的,也就是说数据是在HTTP报文的header部分;
2) POST方法,数据是放在HTTP报文的body部分体骄傲的;
有些网站是反爬虫的,所以要把爬虫伪装成浏览器,使用User-Agent来伪装为浏览器;
五、urllib包
Python2中提供了urllib和urllib2。urllib提供较为底层的接口,urllib2对urllib进行了进一步封装。Python3中将urllib合并到了urllib2中,并更名为标准库urllib包;
urllib是标准库,它是一个工具包模块,包含下面常用模块来处理url: