爬虫基础
大数据时代获取信息的途径
-
政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据
通用爬虫和聚焦爬虫
通用爬虫
是搜索引擎抓取系统 (baidu,goole,yahoo等)的重要组成部分 ,主要目的是将互联网的网页下载到本地 ,形成一个互联网内容的镜像备份。
搜索引擎网络爬虫的基本工作流程如下:
第一步 :抓取网页
1,首先选取一部分的种子url,并将这些url放进抓取url队列 。
2,取出待抓取url,解析dns得到主机的ip,并将Url对应的网页下载下来,存储进已下载网页库中 ,并且将这些url放进已抓取url队列
3,分析已抓取url队列中url,分析其中的其他url,并将url放入待抓取1url队列,从而进入下一个循环
但是搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件的内容,如标注为nofollow.的链接,或者是Robots协议。
robots协议 :(也叫爬虫协议 ,机器人协议等)全称是网络爬虫排除标准 ,网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取 。
例如 :淘宝网:https://www.taobao.com/robots.txt
腾讯网:http:www.qq.com/robots.txt
第二步: 数据存储
搜索引擎通过爬虫爬到的网页,将数据存储入原始页面数据库,其中的页面数据与用户浏览器得到的html是完全一样的
搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到访问权重很低的网站上有大量抄袭采集或者复制的内容 ,很可能就不再爬行
第三步:预处理
搜索引擎将爬虫抓取回来的页面 ,进行各种步骤的预处理
◾提取文字
◾中文分词
◾清楚噪音(比如版权声明文字,导航条,广告条)
◾索引处理
◾连接关系计算
◾特殊文件处理
除了html文件外 ,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如pdf,word,wps,xls,ppt,txt文件等,我们在搜索结果中也经常会看到这些文件类型
但搜索引擎还不能处理图片,视频,flash这类非文字内容,也不能执行脚本和程序
第四步:提供检索服务,网站排名
搜索引擎在对信息进行组织和处理后 ,为用户提供关键检索服务 ,将用户相关的信息展示给用户 。
同时会根据页面的pagerank值(链接的访问量排名)来进行网站排名 。这样rank值高的网站在搜索引擎结果中会排名比较靠前 ,也可以直接使用Monkey购买搜索引擎网站排名 。
但是这些通用性搜索引擎也存在着一定的局限性:
1,通用搜索引擎所返回的结果都是网页 ,而大多情况下,网页里90%的内容对用户来说都是无用的
2.不同领域、 不同背景的用户往往具有不同的检索目的和需求,搜索引擎无法提供针对具体某个用户的搜索结果。
3.万维网数据 形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎对这些文件无能为力,不能很好地发现和获取。
4.通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询,无法准确理解用户的具体需求。
聚焦爬虫
是面向特定主题需求的一种网络爬虫程序 ,它与通用搜索引擎爬虫的区别在于 ,聚焦爬虫在实施页面抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。