什么是爬虫
百度词条上对于爬虫的定义是:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
说的简单一些,爬虫就是模拟客户端(浏览器)发送网络请求,获取网络响应,并按照一定的规则提取数据保存数据的程序。
爬虫的主要流程
构造url
爬虫要爬的数据,绝不仅仅是一个网页那么简单,有时候我们需要爬的是整个网站的数据,如果我们一个一个网页来获取url,那效率肯定太低了。所以在写爬虫程序之前,需要先知道url地址的规律,这样子才可以构造url列表,再从url列表中去url去爬我们需要的数据。
发送请求,获取响应
通过HTTP库向目标站点发起请求,也就是发送一个Request等待服务器响应,如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型。
提取数据
返回的数据时html时,我们可以用正则表达式,或者是lxml模块配合xpath提取数据;返回的是json字符串时,我们可以用json模块进行数据解析;返回的是二进制数据时,可以做保存或者进一步的处理。
保存数据
保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件。