爬虫介绍
学习爬虫的作用
- 学爬虫可以私人订制一个搜索引擎
- 获取更多的数据源,现在是信息的时代,拥有更多的数据就相当于拥有了更多的信息,有了更多的信息才可以做更多的事情。
- 从事科研的人学习爬虫就会拥有更多的独特数据,这些数据可以使科研人员写出独特的文章。
- 减少工作的重复性,学习爬虫能够减少工作的重复性,如果一年一年去看一家公司的年报或者是重复的去扣取数据,这将浪费大量的时间使工作效率降低,如果有了爬虫就可以利用网页的规律用机器代替人工扣取数据。
数据的来源
生活中,数据的来源有很多方式,主要总结为以下5种:
- 企业生产的用户数据
- 数据管理咨询公司
- 政府/机构提供的公开的数据
- 第三方数据平台购买数据
- 爬虫爬取的数据
爬虫定义
⽹络爬⾍(⼜被称为⽹⻚蜘蛛,⽹络机器⼈)就是模拟客户端发送⽹络请求,接收请求响应,⼀种按照⼀定的规则,⾃动地抓取互联⽹信息的程序。只要是浏览器能做的事情,原则上,爬⾍都能够做。
爬虫更多的用途
- 12306抢票
- 网站上的投票
- 短信轰炸
爬虫怎么抓取网页上的数据?
网页三大特征:
- 网页都有自己唯一的URL;
- 网页都是HTML来描述页面信息;
- ⽹⻚都使⽤HTTP/HTTPS协议来传输HTML数据。
爬虫的设计思路
- 确定需要爬取的URL地址;
- 通过http/https协议获取对应的html页面;
- 提取html页面有用的数据。
选择Python做爬虫的原因
- 代码简洁,开发效率高
- 支持的模块多,http 请求和html解析模块丰富
- 调用其它接口也比较方便
通用爬虫
根据使用场景,网络爬虫可以为通用爬虫和聚焦爬虫两种。
通用爬虫和聚焦爬虫的工作流程![通用爬虫和聚焦爬虫工作流程](https://img-blog.csdnimg.cn/20200103142553649.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTgxNDE5Mw==,size_16,color_FFFFFF,t_70)
通用网络爬虫工作原理
通用网络爬虫:是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要⽬的是将互联⽹上的⽹⻚下载到本地,形成⼀个互联⽹内容的镜像备份。
通⽤搜索引擎(Search Engine)⼯作原理:通⽤⽹络爬⾍ 从互联⽹中搜集⽹⻚,采集信息,这些⽹⻚信息⽤于为搜索引擎建⽴索引从⽽提供⽀持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。
第一步:抓取网页
搜索引擎⽹络爬⾍的基本⼯作流程如下:
- ⾸先选取⼀部分的种⼦URL,将这些URL放⼊待抓取URL队列;
- 取出待抓取URL,解析DNS得到主机的IP,并将URL对应的⽹⻚下载下来,存储进已下载⽹⻚库中,并且将这些URL放进已抓取URL队列。
- 分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放⼊待抓取URL队列,从⽽进⼊下⼀个循环…
Robots协议:Robots协议(也叫爬⾍协议、机器⼈协议等),全称是“⽹络爬⾍排除标准”(Robots Exclusion Protocol),⽹站通过Robots协议告诉搜索引擎哪些⻚⾯可以抓取,哪些⻚⾯不能抓取,一般是在URL网址的后面加上robots.txt。
例如:
淘宝⽹:https://www.