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

Php 如何从网站的数据库中抓取链接?,php,mysql,web-crawler,Php,Mysql,Web Crawler,我是搜索引擎新手,我觉得谷歌新闻非常有趣 我想写一个简单的爬虫 只解析三个不同新闻站点的文章链接 在数据库(mysql)中保存链接,并使用该链接在网站上发布的时间戳(而不是爬虫检测到该链接的时间戳) 正如你们所知,新闻网站每天都会生成链接(我想基本上解析他们的所有链接(不仅仅是今天打印的链接,还有以前生成的所有链接……所有这些链接都保存在新闻网站数据库中) 我不知道我想要抓取的新闻网站使用的是哪个数据库,而且我也没有访问权限 那么googlenews如何解析所有新闻网站的所有文章链接,包括很久以

我是搜索引擎新手,我觉得谷歌新闻非常有趣

我想写一个简单的爬虫

  • 只解析三个不同新闻站点的文章链接
  • 在数据库(mysql)中保存链接,并使用该链接在网站上发布的时间戳(而不是爬虫检测到该链接的时间戳) 正如你们所知,新闻网站每天都会生成链接(我想基本上解析他们的所有链接(不仅仅是今天打印的链接,还有以前生成的所有链接……所有这些链接都保存在新闻网站数据库中)

    我不知道我想要抓取的新闻网站使用的是哪个数据库,而且我也没有访问权限

  • 那么googlenews如何解析所有新闻网站的所有文章链接,包括很久以前生成的链接?googlenews是否可以访问所有这些网站数据库

  • 爬虫如何知道网站上添加了新链接?例如,一个新闻网站发布了一篇新文章,我希望我的爬虫立即解析链接,爬虫如何知道这一点(googlenews也能做到……那么如何……?)也就是说,爬虫程序是否立即知道新的文章链接?或者谷歌只是在固定的时间间隔(每一小时等)对网站进行爬虫

  • 谷歌新闻爬虫如何知道新网站何时启动? 爬虫会自动寻找新网站吗,或者谷歌工程师基本上持有一个固定的新闻网站列表来爬虫

  • 关于谷歌搜索爬虫也可以问同样的问题,即爬虫应该知道一个新的域已经启动,所以它可以对它进行爬网,从而确保谷歌数据库反映万维网的最新状态

    那么,有没有一个开放的全球数据库可以保存所有曾经发布过的域名,而谷歌基本上是对其进行爬网的

  • 实现我的新闻网站爬虫的最佳工具是什么
  • Apache Lucene、Nutch、Solr、ElasticSearch

    也许吧

    我真的很想知道以上四个问题的答案

    请帮忙


    提前感谢。

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

    什么是爬虫?

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

    关于你的问题:

    谷歌新闻可以访问所有这些网站和数据库吗

    ,如果您可以访问数据库,则不需要爬虫程序

    爬虫如何知道新链接已添加到网站

    谷歌每隔一段时间就会抓取每个网站,并在网站内搜索新的链接。通常,一个新页面或一篇文章会通过已经存储在谷歌数据库中的主页进行链接

    谷歌新闻爬虫如何知道新网站何时被更新 发射

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

    他们如何获得旧文章的链接

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

    我如何知道网站发布文章的时间

    这取决于你正在爬网的站点。如果每篇文章都有日期,你需要解析页面并提取该日期。在顶部有一个日期,通过搜索日期类很容易找到HTML dom的日期:
    2014年6月6日
    。 如果日期没有出现,您将无法知道他们何时发布该日期

    作为一名开发者,你可以让谷歌的生活变得更轻松,并要求谷歌通过互联网抓取你的新网站

    在抓取网页的同时,谷歌还会计算指向一个页面的链接数量,这将影响页面的排名。指向你网站的许多链接将表明你有一个有价值的内容,你应该在搜索结果中显示得更高


    编写一个简单的爬虫程序很容易。你可以通过
    php cURL
    file\u get\u contents
    获取页面内容,解析它,选择并保存你想要的数据,提取该页面中的所有链接,然后递归地抓取你找到的链接。

    大多数谷歌都不允许你对其进行抓取。他们有很多“反抓取代码”技术.