首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从网站的数据库中抓取链接?

如何从网站的数据库中抓取链接?
EN

Stack Overflow用户
提问于 2014-06-06 11:52:16
回答 1查看 1.4K关注 0票数 3

我是搜索引擎新手,我发现googlenews非常有趣。

我想写一个简单的爬虫

  1. 只解析三个不同新闻网站的文章链接。
  2. 将链接保存在数据库(mysql)中,并使用链接在网站上公布的时间戳(而不是爬虫检测到链接的时间)。

如您所知,新闻网站每天都会生成链接(我想基本上解析它们的所有链接(不仅仅是今天打印的链接,还包括生成before...and的所有链接--所有这些链接都保存在新闻网站数据库中)。

我不知道我想爬的新闻网站使用的是哪个数据库,我也没有访问它的权限。

  1. 那么googlenews如何能够解析所有新闻网站的所有文章链接,包括很久以前生成的链接呢?googlenews可以访问所有这些网站数据库吗?
  2. 爬虫如何知道一个新的链接已经添加到该网站?例如,如果一个新闻网站发布了一篇新文章,而我希望我的爬虫立即解析链接,那么爬虫如何知道这一点(googlenews也能够做it...so .?)也就是说,爬虫是否立即知道新的文章链接?或者google只是在一个固定的时间间隔(每一小时等一次)爬行网站?
  3. 谷歌新闻爬虫如何知道什么时候一个新的网站已经推出?爬虫是否会自动寻找新的网站,或者google工程师基本上有一个固定的新闻网站列表来抓取?

对于google搜索爬虫,也可以问同样的问题,即爬虫应该意识到一个新的域已经启动,这样它就可以爬行它,从而确保google数据库反映了万维网的最新状态。

那么,是否有任何开放的世界范围的数据库可以保存所有的域名,而google基本上是在爬行呢?

  1. 什么是最好的工具来实现我的新闻网站爬虫?

Apache,Nutch,Solr,ElasticSearch?

也许是http://phpcrawl.cuab.de/

我真的很好奇以上四个问题的答案。

请协助。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 18:32:39

你有一些关键的问题,我会回答,但首先,你应该了解什么是爬虫。

什么是爬虫?

爬虫的工作是通过阅读网页来扫描互联网,获取他所包含的所有链接,然后阅读这些页面。此操作的主要目的是自动查找新内容。一个好的爬虫者会开始爬行一些经常更新的大而熟悉的网站,这样他就可以更新和索引这些网站,并快速获得新的内容和新的网站(因为大型网站通常包含指向其他网站的链接)。

关于你的问题:

googlenews可以访问所有这些网站数据库吗?

no ,如果您可以访问数据库,就不需要爬虫了。

爬虫如何知道一个新的链接已经添加到该网站?

谷歌偶尔会抓取每个网站,并搜索网站内部的新链接。通常,新页面或文章将通过已经存储在Google数据库中的主页链接。

谷歌新闻爬虫如何知道什么时候一个新的网站已经推出?

简单的答案是:爬虫找到一个链接到新的网站,检查网站是否在系统中,如果不是,添加它。

他们是如何得到旧文章的链接的?

很简单,他们把这些链接保存在一个庞大的数据库中。谷歌几年前就开始在互联网上爬行了。如果谷歌今天再一次开始在互联网上爬行,旧的链接可能不会出现。

我如何获得网站发布这篇文章的时间?

这取决于你爬行的网站。如果每篇文章都有日期,则需要解析页面并提取此日期。这篇文章的顶部有一个日期,通过搜索date类:<span class="date">6 June 2014</span>,很容易找到HTML。如果日期未出现,您将无法知道他们何时发布它。

作为一名开发人员,你可以让谷歌的生活变得更容易,并要求谷歌通过Google网站管理员工具爬行你的新网站。

在爬行网页的同时,谷歌也会计算一个页面的链接数量,这将影响页面的排名。许多链接到你的网站将表明你有一个有价值的内容,你应该出现在更高的搜索结果。

编写一个简单的爬虫很容易。您可以使用php cURLfile_get_contents获取页面的内容,解析它,选择并保存您想要的数据,提取该页面中的所有链接,然后递归地爬行您找到的链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24081214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档