我是搜索引擎新手,我觉得googlenews非常有趣。
我想写一个简单的爬虫
如您所知,新闻网站每天都会生成链接(我想基本上解析所有链接(不仅是今天打印的链接,还包括之前生成的所有链接......以及所有这些链接)链接保存在新闻网站数据库中。)
我不知道我想要抓取的新闻网站使用哪个数据库,而且我也没有访问权限。
那么googlenews如何解析所有新闻网站的所有文章链接,包括很久以前生成的链接? googlenews是否可以访问所有这些网站数据库?
抓取工具如何知道网站上添加了新链接?例如,如果一个新闻网站发布了一篇新文章,并且我希望我的抓取工具立即解析链接,那么抓取工具怎么知道呢(googlenews也能够做到......那么怎么......?)即爬虫马上知道新文章的链接?或谷歌只是固定间隔(每隔一小时等等)抓取网站?
Google新闻抓取工具如何知道新网站何时推出? 抓取工具是否会自动查找新网站,或者Google工程师基本上会抓住一个固定的新闻网站列表进行抓取?
可以询问有关Google搜索抓取工具的相同问题,即抓取工具应该知道已经启动了一个新域,因此可以对其进行抓取,从而确保Google数据库反映万维网最新状态。
那么是否有任何开放的全球数据库可以保持所有域名的启动,谷歌基本上会抓取它?
Apache Lucene,Nutch,Solr,ElasticSearch?
我真的很好奇上述四个问题的答案。
请协助。
提前致谢。
答案 0 :(得分:2)
您有一些关键问题我会回答,但首先您应该了解什么是爬虫。
什么是抓取工具?
抓取工具的工作是通过阅读页面扫描互联网,获取他包含的所有链接,然后阅读这些页面。此操作的主要目的是自动查找新内容。一个好的爬虫会开始抓取几个经常更新的大而熟悉的网站,这样他就可以更新和索引这些网站,并快速获取新内容和新网站(因为大型网站通常包含指向其他网站的链接)。
关于你的问题:
googlenews是否可以访问所有这些网站数据库?
否,如果您有权访问数据库,则无需使用抓取工具。
抓取工具如何知道网站上添加了新链接?
谷歌偶尔会抓取每个网站,并搜索网站内的新链接。通常,新页面或文章将通过已存储在Google数据库中的主页面进行链接。
Google新闻抓取工具如何知道新网站何时出现 推出?
简单的答案是:抓取工具找到指向新网站的链接,检查网站是否在系统中,如果没有,则添加它。
他们如何获得旧文章的链接?
很简单,他们将这些链接保存在一个庞大的数据库中。谷歌几年前开始爬网。如果Google今天重新开始抓取互联网,那么旧链接可能无法显示出来。
如何获得网站发布文章的时间?
这取决于您要抓取的网站。如果每篇文章都有一个日期,则需要解析页面并提取此日期。 This article在顶部有一个日期,通过搜索日期类很容易找到HTML dom:<span class="date">6 June 2014</span>
。
如果日期没有出现,您就无法知道他们何时发布日期。
作为开发者,您可以让Google的生活更轻松,并要求Google通过Google Webmaster Tools抓取您的新网站。
在抓取网页时,Google还会计算指向某个网页的链接数量,这会影响网页的排名。许多指向您网站的链接都表明您拥有有价值的内容,并且您应该在搜索结果中显得更高。
编写简单的爬虫很容易。您使用php cURL
或file_get_contents
获取页面内容,解析它,选择并保存所需数据,提取此页面中的所有链接,然后递归抓取您找到的链接。< / p>