google/baidu这一类搜索引擎是咋实现数据采集的?

web信息多数来自于爬虫(web crawler),用户的注册信息是另一部分数据,而用户自身的行为也会产生数据,比如关键字搜索历史等等。
■网友
爬虫-索引有兴趣可以稍微学一下Lucene、Nutch
■网友
爬虫在遵守爬虫道德的情况下爬去网页,建立索引,可以作为自身搜索的数据库;服务器端记录用户访问留下的信息,依据挖掘算法,作为其它更智能化排序、推荐的基础;对于一些“暗网”数据,比如比较专业的大型数据库,百度基本上靠“买”,Google有自己的算法,具体是什么,不清楚了~
■网友
大数据之数据分析\u0026amp;数据挖掘方法首先说数据源,网络数据源一般来自三个渠道:一类是应用产生数据 【google/baidu这一类搜索引擎是咋实现数据采集的?】 主要内容的满足应用需求所需要的数据,作为监察系统所需要的是实时流式数据(交易系统实时数据)和批量块(结算系统批量数据),数据类型的是文件数据和关系型文本数据。此类数据量占总数据只有10%,传统基于小型机的关系型数数据处理系统可以处理此类数据,基于大数据平台技术的实时处理计算系统也可以处理此类数据。
另一类是行为产生数据主要是应用系统衍生的行为产生的数据,即与监察系统相关的企业行为数据,互联网产生的关联数据等等,数据类型的是XML, html, log, tag...。此类数据量占总数据量是30%,传统基于小型机的关系型数据处理系统可以处理此类数据的一小部分结构化数据;大量半结构化和非结构化数据只能由目前新兴的大数据平台技术进行处理。
一类是机器产生的数据主要是运行机器时时刻刻产生的大量日志数据(syslog日志数据),互联网网络爬虫爬取大量非结构化文本数据等等。这些数据在以往传统架构的解决方案中,由于数据量巨大都被忽略了,此类数据量占总数据量是60%;目前新兴的大数据平台技术完全可以采集分析处理这些数据,揭示数据背后的关联关系。
然后再说如何采集这些数据
简单的来讲就是爬虫,复杂的来讲,就是分布式大数据计算,谷歌/百度有庞大的服务器集群,他们采用分布式计算方式来组织这些庞大的数据,通过时间维度和索引维度。

■网友
如果你想开发一个高性能网络爬虫,我认为最重要是实现两个基础功能:1,自适应调度,什么时候去爬,什么优先爬,怎样不被网络状况差的网站拖累了等等;2,DNS预解析排队管理。也许大家都不同观点,但是我觉得这是两大要点。
■网友
查找引擎并不真实查找互联网,它查找的实际上是预先整理好的网页索引数据库。 真实意义上的查找引擎,一般指的是搜集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,树立索引数据库的全文查找引擎。当用户查找某个关键词的时分,一切在页面内容中包含了该关键词的网页都将作为查找成果被搜出来。在经过杂乱的算法进行排序后,这些成果将依照与查找关键词的相关度凹凸,顺次摆放。 现在的查找引擎已遍及运用超链剖析技能,除了剖析索引网页自身的内容,还剖析索引一切指向该网页的链接的URL、AnchorText、乃至链接周围的文字。所以,有时分,即便某个网页A中并没有某个词比方“恶魔撒旦”,但假如有其他网页B用链接“恶魔撒旦”指向这个网页A,那么用户查找“恶魔撒旦”时也能找到网页A。而且,假如有越多网页(C、D、E、F……)用名为“恶魔撒旦”的链接指向这个网页A,或许给出这个链接的源网页(B、C、D、E、F……)越优异,那么网页A在用户查找“恶魔撒旦”时也会被以为更相关,排序也会越靠前。 查找引擎的原理,能够看做三步:从互联网上抓取网页→树立索引数据库→在索引数据库中查找排序。 从互联网上抓取网页 运用能够从互联网上主动搜集网页的Spider体系程序,主动拜访互联网,并沿着任何网页中的一切URL爬到其它网页,重复这进程,并把爬过的一切网页搜集回来。 树立索引数据库 由剖析索引体系程序对搜集回来的网页进行剖析,提取相关网页信息(包含网页地点URL、编码类型、页面内容包含的关键词、关键词方位、生成时刻、巨细、与其它网页的链接联系等),依据必定的相关度算法进行很多杂乱核算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息树立网页索引数据库。 在索引数据库中查找排序 当用户输入关键词查找后,由查找体系程序从网页索引数据库中找到符合该关键词的一切相关网页。由于一切相关网页针对该关键词的相关度早已算好,所以只需依照现成的相关度数值排序,相关度越高,排名越靠前。 最终,由页面生成体系将查找成果的链接地址和页面内容摘要等内容组织起来回来给用户。 查找引擎的Spider一般要定时从头拜访一切网页(各查找引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新状况,添加新的网页信息,去除死链接,并依据网页内容和链接联系的改变从头排序。这样,网页的具体内容和改变状况就会反映到用户查询的成果中。 互联网尽管只需一个,但各查找引擎的才能和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型查找引擎的数据库贮存了互联网上几亿至几十亿的网页索引,数据量到达几千G乃至几万G。但即便最大的查找引擎树立超越二十亿网页的索引数据库,也只能占到互联网上一般网页的不到30%,不同查找引擎之间的网页数据堆叠率一般在70%以下。咱们运用不同查找引擎的重要原因,就是由于它们能别离查找到不同的内容。而互联网上有更很多的内容,是查找引擎无法抓取索引的,也是咱们无法用查找引擎查找到的。 你心里应该有这个概念:查找引擎只能搜到它网页索引数据库里贮存的内容。你也应该有这个概念:假如查找引擎的网页索引数据库里应该有而你没有搜出来,那是你的才能问题,学习查找技巧能够大幅度提高你的查找才能。■ 全文查找引擎 在查找引擎分类部分咱们提到过全文查找引擎从网站提取信息树立网页数据库的概念。查找引擎的主动信息搜集功用分两种。一种是定时查找,即每隔一段时刻(比方Google一般是28天),查找引擎主动派出“蜘蛛”程序,对必定IP地址规模内的互联网站进行检索,一旦发现新的网站,它会主动提取网站的信息和网址参加自己的数据库。 另一种是提交网站查找,即网站具有者主动向查找引擎提交网址,它在必定时刻内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来查找引擎索引规矩发生了很大改变,主动提交网址并不确保你的网站能进入查找引擎数据库,因而现在最好的方法是多取得一些外部链接,让查找引擎有更多时机找到你并主动将你的网站录入。 当用户以关键词查找信息时,查找引擎会在数据库中进行查找,假如找到与用户要求内容相符的网站,便选用特其他算法——一般依据网页中关键词的匹配程度,呈现的方位/频次,链接质量等——核算出各网页的相关度及排名等级,然后依据相关度凹凸,按次序将这些网页链接回来给用户 ■ 目录索引 与全文查找引擎比较,目录索引有许多不同之处。 首要,查找引擎归于主动网站检索,而目录索引则彻底依托手艺操作。用户提交网站后,目录编辑人员会亲身阅读你的网站,然后依据一套自定的评判规范乃至编辑人员的片面形象,决议是否接收你的网站。 其次,查找引擎录入网站时,只需网站自身没有违背有关的规矩,一般都能登录成功。而目录索引对网站的要求则高得多,有时即便登录屡次也不必定成功。特别象Yahoo!这样的超级索引,登录更是困难。(由于登录Yahoo!的难度最大,而它又是商家网络营销必争之地,所以咱们会在后边用专门的篇幅介绍登录Yahooyahoo的技巧)。此外,在登录查找引擎时,咱们一般不必考虑网站的分类问题,而登录目录索引时则有必要将网站放在一个最合适的目录(Directory)。 最终,查找引擎中各网站的有关信息都是从用户网页中主动提取的,所以用户的视点看,咱们具有更多的自主权;而目录索引则要求有必要手艺其他填写网站信息,而且还有各式各样的约束。更有甚者,假如作业人员以为你提交网站的目录、网站信息不合适,他能够随时对其进行调整,当然事先是不会和你商议的。 目录索引,望文生义就是将网站分门别类地存放在相应的目录中,因而用户在查询信息时,可选择关键词查找,也可按分类目录逐层查找。如以关键词查找,回来的成果跟查找引擎相同,也是依据信息相关程度摆放网站,只不过其间人为因素要多一些。假如按分层目录查找,某一目录中网站的排名则是由标题字母的先后次序决议(也有破例)。 现在,查找引擎与目录索引有彼此交融浸透的趋势。本来一些朴实的全文查找引擎现在也供给目录查找,如Google就借用Open Directory目录供给分类查询。而象 Yahoo! 这些老牌目录索引则经过与Google等查找引擎协作扩展查找规模。在默许查找形式下,一些目录类查找引擎首要回来的是自己目录中匹配的网站,如国内搜狐、新浪、网易等;而其他一些则默许的是网页查找,如Yahoo。 ■ 全文查找引擎   在查找引擎分类部分咱们提到过全文查找引擎从网站提取信息树立网页数据库的概念。查找引擎的主动信息搜集功用分两种。一种是定时查找,即每隔一段时刻(比方Google一般是28天),查找引擎主动派出“蜘蛛”程序,对必定IP地址规模内的互联网站进行检索,一旦发现新的网站,它会主动提取网站的信息和网址参加自己的数据库。  另一种是提交网站查找,即网站具有者主动向查找引擎提交网址,它在必定时刻内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来查找引擎索引规矩发生了很大改变,主动提交网址并不确保你的网站能进入查找引擎数据库,因而现在最好的方法是多取得一些外部链接,让查找引擎有更多时机找到你并主动将你的网站录入。  当用户以关键词查找信息时,查找引擎会在数据库中进行查找,假如找到与用户要求内容相符的网站,便选用特其他算法——一般依据网页中关键词的匹配程度,呈现的方位/频次,链接质量等——核算出各网页的相关度及排名等级,然后依据相关度凹凸,按次序将这些网页链接回来给用户……查找引擎的数据库是依托一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)”的软件,经过网络上的各种链接主动获取很多网页信息内容,并按以定的规矩剖析整理构成的。Google、百度都是比较典型的全文查找引擎体系查找引擎作业原理   了解查找引擎的作业原理对咱们日常查找运用和网站提交推广都会有很大协助。 全文查找引擎   在查找引擎分类部分咱们提到过全文查找引擎从网站提取信息树立网页数据库的概念。查找引擎的主动信息搜集功用分两种。一种是定时查找,即每隔一段时刻(比方Google一般是28天),查找引擎主动派出“蜘蛛”程序,对必定IP地址规模内的互联网站进行检索,一旦发现新的网站,它会主动提取网站的信息和网址参加自己的数据库。   另一种是提交网站查找,即网站具有者主动向查找引擎提交网址,它在必定时刻内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来查找引擎索引规矩发生了很大改变,主动提交网址并不确保你的网站能进入查找引擎数据库,因而现在最好的方法是多取得一些外部链接,让查找引擎有更多时机找到你并主动将你的网站录入。   当用户以关键词查找信息时,查找引擎会在数据库中进行查找,假如找到与用户要求内容相符的网站,便选用特其他算法——一般依据网页中关键词的匹配程度,呈现的方位/频次,链接质量等——核算出各网页的相关度及排名等级,然后依据相关度凹凸,按次序将这些网页链接回来给用户。 目录索引   与全文查找引擎比较,目录索引有许多不同之处。   首要,查找引擎归于主动网站检索,而目录索引则彻底依托手艺操作。用户提交网站后,目录编辑人员会亲身阅读你的网站,然后依据一套自定的评判规范乃至编辑人员的片面形象,决议是否接收你的网站。   其次,查找引擎录入网站时,只需网站自身没有违背有关的规矩,一般都能登录成功。而目录索引对网站的要求则高得多,有时即便登录屡次也不必定成功。特别象Yahoo!这样的超级索引,登录更是困难。(由于登录Yahoo!的难度最大,而它又是商家网络营销必争之地,所以咱们会在后边用专门的篇幅介绍登录 Yahooyahoo的技巧)   此外,在登录查找引擎时,咱们一般不必考虑网站的分类问题,而登录目录索引时则有必要将网站放在一个最合适的目录(Directory)。   最终,查找引擎中各网站的有关信息都是从用户网页中主动提取的,所以用户的视点看,咱们具有更多的自主权;而目录索引则要求有必要手艺其他填写网站信息,而且还有各式各样的约束。更有甚者,假如作业人员以为你提交网站的目录、网站信息不合适,他能够随时对其进行调整,当然事先是不会和你商议的。   目录索引,望文生义就是将网站分门别类地存放在相应的目录中,因而用户在查询信息时,可选择关键词查找,也可按分类目录逐层查找。如以关键词查找,回来的成果跟查找引擎相同,也是依据信息相关程度摆放网站,只不过其间人为因素要多一些。假如按分层目录查找,某一目录中网站的排名则是由标题字母的先后次序决议(也有破例)。  现在,查找引擎与目录索引有彼此交融浸透的趋势。本来一些朴实的全文查找引擎现在也供给目录查找,如Google就借用Open Directory目录供给分类查询。而象 Yahoo! 这些老牌目录索引则经过与Google等查找引擎协作扩展查找规模。在默许查找形式下,一些目录类查找引擎首要回来的是自己目录中匹配的网站,如国内搜狐、新浪、网易等;而其他一些则默许的是网页查找,如Yahoo。 作者:whwyw 宣布时刻:2006-06-13 10:44:20 第二部分:查找引擎原理   查找引擎并不真实查找互联网,它查找的实际上是预先整理好的网页索引数据库。   查找引擎,也不能真实理解网页上的内容,它只能机械的匹配网页上的文字。   真实意义上的查找引擎,一般指的是搜集了互联网上几千万到几十亿个网页并对网页中的每一个文字(即关键词)进行索引,树立索引数据库的全文查找引擎。当用户查找某个关键词的时分,一切在页面内容中包含了该关键词的网页都将作为查找成果被搜出来。在经过杂乱的算法进行排序后,这些成果将依照与查找关键词的相关度凹凸,顺次摆放。   现在的查找引擎已遍及运用超链剖析技能,除了剖析索引网页自身的文字,还剖析索引一切指向该网页的链接的URL、 AnchorText、乃至链接周围的文字。所以,有时分,即便某个网页A中并没有某个词比方“恶魔撒旦”,但假如有其他网页B用链接“恶魔撒旦”指向这个网页A,那么用户查找“恶魔撒旦”时也能找到网页A。而且,假如有越多网页(C、D、E、F……)用名为“恶魔撒旦”的链接指向这个网页A,或许给出这个链接的源网页(B、C、D、E、F……)越优异,那么网页A在用户查找“恶魔撒旦”时也会被以为更相关,排序也会越靠前。   查找引擎的原理,能够看做三步:从互联网上抓取网页→树立索引数据库→在索引数据库中查找排序。   从互联网上抓取网页 运用能够从互联网上主动搜集网页的Spider体系程序,主动拜访互联网,并沿着任何网页中的一切URL爬到其它网页,重复这进程,并把爬过的一切网页搜集回来。 树立索引数据库 由剖析索引体系程序对搜集回来的网页进行剖析,提取相关网页信息(包含网页地点URL、编码类型、页面内容包含的一切关键词、关键词方位、生成时刻、巨细、与其它网页的链接联系等),依据必定的相关度算法进行很多杂乱核算,得到每一个网页针对页面文字中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息树立网页索引数据库。 在索引数据库中查找排序 当用户输入关键词查找后,由查找体系程序从网页索引数据库中找到符合该关键词的一切相关网页。由于一切相关网页针对该关键词的相关度早已算好,所以只需依照现成的相关度数值排序,相关度越高,排名越靠前。 最终,由页面生成体系将查找成果的链接地址和页面内容摘要等内容组织起来回来给用户。   查找引擎的Spider一般要定时从头拜访一切网页(各查找引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页文字的更新状况,添加新的网页信息,去除死链接,并依据网页文字和链接联系的改变从头排序。这样,网页的具体文字改变状况就会反映到用户查询的成果中。   互联网尽管只需一个,但各查找引擎的才能和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型查找引擎的数据库贮存了互联网上几千万至几十亿的网页索引,数据量到达几千G乃至几万G。但即便最大的查找引擎树立超越二十亿网页的索引数据库,也只能占到互联网上一般网页的不到30%,不同查找引擎之间的网页数据堆叠率一般在70%以下。咱们运用不同查找引擎的重要原因,就是由于它们能别离查找到不同的网页。而互联网上有更很多的网页,是查找引擎无法抓取索引的,也是咱们无法用查找引擎查找到的。   你心里应该有这个概念:查找引擎只能搜到它网页索引数据库里贮存的网页文字信息。你也应该有这个概念:假如查找引擎的网页索引数据库里应该有而你没有搜出来,那是你的才能问题,学习查找技巧能够大幅度提高你的查找才能。 第三部分:常用中英文查找引擎指南 常用中文查找引擎 Baidu http://www.baidu.com 约9000万中文网页,2周更新一次。供给网页快照、网页预览/预览悉数网页、相关查找词、错别字纠正提示、新闻查找、Flash查找、信息快递查找、百度搜霸、查找协助中心。Baidu查找技巧 Google中文 http://www.google.com/intl/zh-CN/ 约7000万中文网页,1月更新一次,部分网页每日更新,由 BasisTechnology供给中文处理技能,查找相关性高,高档查找语法丰厚。供给Google东西条、网页快照、图画查找、新闻组查找。Google查找协助 Openfind中文 http://www.openfind.com/cn.web.php?u=cn 中文网页数与Baidu或Google附近,更新略慢。供给按网页巨细或日期排序。Openfind查询诀窍 北大天网 http://e.pku.edu.cn/ 约6000万网页,更新略慢,查找相关性略低。供给天网搜霸、前史网页。引荐运用强壮的ftp查找。天网运用协助 Fast/Alltheweb Inktomi/MSN Altavista 网络指南针 http://www.alltheweb.com http://www.msn.com http://www.av.com 202.112.0.83:8080 Alltheweb录入中文网页约6000万,Inktomi和Altavita大约也以千万计,但由于它们没作中文特别处理,所以用简略的中文关键词能够搜到一些内容,但用稍长一点或组合关键词查询时,查找效果就很差。其它如Wisenut、Gigablast等,也能查找一点点中文,但由于没做中文特别处理,相同没有查找价值。网络指南针部分索引网页500万,在数据量和相关性上仍有局限,现在也没有查找价值。 常用英文查找引擎 Google http://www.google.com 24亿网页(约1/4非全文索引),用户界面超卓,有新闻组、图画、新闻等查找,以查找相关性高出名。 Alltheweb (Fast) http://www.alltheweb.com 21亿网页,高档检索强壮,有新闻、图片、MP3、Video、ftp,运用ODP对查找成果简略分类。 Altavista http://www.av.com 约7亿网页,有图画、音频、视频、新闻查找,高档语法强壮,有prisma辅佐检索。(部分网友需经过p-roxy拜访,无p-roxy可用 qbseach 单选altavista查找。) Inktomi http://search.positiontech.com 20亿网页(疑很多非全文索引),技能设置和参数可调性高,支撑的门户查找数据库和排序多不同,可到 Hotbot运用Inktomi的高档查找。 Northernlight http://nlresearch.northernlight.com 约7亿网页+7100出版物数据,需选中"World Wide Web only"查找。速度略慢,杂志数据有共同查找价值,能对成果作简略主动分类,翻页数不限,支撑通配符。 Wisenut http://www.wisenut.com 约14亿网页,网页索引数据库偏老,供给相似简略主动分类和相关检索词的WiseGuide,及预览查找成果的Sneak-a-Peek。 Openfind http://www.openfind.com 35亿网页(疑很多非全文索引),旧网页死链接多,支撑按网页巨细或日期排序。 Teoma http://www.teoma.com 约3亿网页,速度略慢,支撑相似主动分类的Refine;一起供给专业链接目录的Resources。 Gigablast http://www.gigablast.com 1.5亿网页,供给网页快照。 注1:假如查找成果网页中有单词涉及政治灵敏内容,网友可能看到服务器被重置的信息,而且短时刻内无法运用该查找引擎,不必严重,只需等几分钟或换个IP就又能运用了。 注2:以上查找引擎的高档查找语法具体运用,请去各查找引擎的Help学习,或集中去 这里查阅。 现在,有自己网页索引数据库的英文查找引擎,总共只需上边9个。其它的如Yahoo,AOL,LYCOS,MSN,Looksmart等尽管名为查找引擎,都没有自己的网页索引数据库,其实都是用的以上查找引擎的网页索引数据库。其他,门户网站的查找引擎八成默以为分类目录查找,负担又多,无法供给专业查找引擎相同的丰厚功用和一致丰厚的查找语法,所以在查找的速度、相关性、数量、易用性上往往与专业查找引擎差距甚远,缺少运用价值,就不逐个介绍了。但以下三个查找引擎,尽管也没有自己的网页索引数据库,却都有其特色和运用价值,值得查找引擎9238一提: Askjeeves http://www.ask.com 有超越700万的大型问题库,支撑自然语言发问查找,合适查找常识性的问题答案。 Vivisimo http://www.vivisimo.com 元查找引擎,有现在最好的查找成果主动分类技能。下拉菜单还支撑各新闻、购物、独立查找引擎等的主动分类查找。 Faganfind http://www.faganfind.com 咱们经常会遇到一般网页查找以外的各种特别查找需求。Faganfind象一个书签,它为几十种特别查找需求都选择了多个优异查找东西,你能够点击子分类进入选择运用,也能够很便利的直接用它默许的查找东西(一般它默许引荐的都很好 参考资料:http://www.usb8.cn/bbs/PrintPost.asp?ThreadID=204


推荐阅读