爬虫概述
什么是爬虫?
爬虫:通过编写程序模拟浏览器上网,然后让其去互联网上爬取/获取数据的过程。
爬虫分类:
通用爬虫:爬取一整张页面数据,“抓取系统”。
通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。
- 搜索引擎如何抓取互联网上的网站数据?
- 门户网站主动向搜索引擎公司提供其网站的url
- 搜索引擎公司与DNS服务商合作,获取网站的url
- 门户网站主动挂靠在一些知名网站的友情链接中
聚焦爬虫:爬取的就是页面中指定的内容
聚焦爬虫是根据指定的需求抓取网络上指定的数据。例如:获取豆瓣上电影的名称和影评,而不是获取整张页面中所有的数据值。
增量式爬虫:用来检测网站数据更新的情况,只爬取网站最近更新的数据
反爬机制与反反爬策略
反爬机制:网站制定了相关的技术手段或者策略阻止爬虫程序进行网页数据的爬取
遇到的反爬机制:
- robots.txt
- UA检测
- 验证码
- cookie
- 检测IP
- 动态参数
- 动态加载的数据
- 图片懒加载
反反爬策略:爬虫破解网站指定的反爬策略
robbts协议
robbts协议:(防君子不妨小人)
- 如果自己的门户网站中的指定页面中的数据不想让爬虫程序爬取到的话,那么则可以通过编写一个robots.txt的协议文件来约束爬虫程序的数据爬取。robots协议的编写格式可以观察淘宝网的robots(访问www.taobao.com/robots.txt即可)。但是需要注意的是,该协议只是相当于口头的协议,并没有使用相关技术进行强制管制,所以该协议是防君子不防小人。但是我们在学习爬虫阶段编写的爬虫程序可以先忽略robots协议。