【问题标题】:Checking website for a link using PHP使用 PHP 检查网站的链接
【发布时间】:2012-05-06 16:09:21
【问题描述】:

我正在我的网站上构建一个脚本,但发现自己有点困惑如何以最少的编码使其正常工作。

基本上只需要这样我就可以输入一个 URL,例如 domain.com,它应该扫描该主页以查找指向我的域的链接,并检查是否分配了 rel="nofollow"如果链接没有 rel="nofollow" 则返回 true,如果没有链接则返回 false,或者链接上有 rel="nofollow"。

我会怎么做,或者我会从哪里开始。

我已经在 Google 上搜索了如何创建蜘蛛,但对于我正在尝试创建的基本脚本而言,它的信息量很大而且很复杂!

【问题讨论】:

    标签: php url web-crawler


    【解决方案1】:

    您所要求的并不像您想象的那么简单。要正确执行此操作,您需要使用 DOM 解析器,例如 DOMDocument。

    http://www.php.net/manual/en/class.domdocument.php

    您可以使用其loadHTML() 方法来解析您要扫描的网页。从那里,您可以使用它的各种功能来查找您要查找的特定链接,并检查其属性以确保 URL 正确,并且您的 rel="nofollow" 在那里。

    我向您保证,最后,这比您的 URL 的字符串搜索要容易得多。盲目搜索会导致结果不准确,而且比您意识到的要麻烦得多。

    【讨论】:

      【解决方案2】:

      看看http://simplehtmldom.sourceforge.net/.

      // Create DOM from URL or file
      $html = file_get_html('http://www.google.com/');
      // Find all links 
      foreach($html->find('a') as $element) 
             echo $element->href . '<br>';
      

      【讨论】:

        猜你喜欢
        • 2014-02-12
        • 2011-04-03
        • 1970-01-01
        • 2018-06-12
        • 2012-07-21
        • 2012-02-07
        • 2018-08-23
        • 1970-01-01
        • 2012-04-23
        相关资源
        最近更新 更多