【问题标题】:PHPQuery - get all links of contains specific url pagePHPQuery - 获取包含特定 url 页面的所有链接
【发布时间】:2016-01-06 10:06:34
【问题描述】:

我正在尝试使用 PHPQuery 在给定页面上获取包含特定 url 页面的所有链接。我正在使用 PHPQuery 的 PHP 支持语法。

include_once 'phpQuery.php';
$url = 'http://www.phonearena.com/phones/manufacturer/';
$doc = phpQuery::newDocumentFile($url);

$urls = $doc['a'];

foreach ($urls as $url) {
    echo pq($url)->attr('href') . '<br>';
}

上面的代码有效。但它显示了所有链接 我只想显示那些包含“/phones/manufacturer/”的内容。 我试过了,但什么也没显示:

include_once 'phpQuery.php';
$url = 'http://www.phonearena.com/phones/manufacturer/';
$doc = phpQuery::newDocumentFile($url);

$urls = $doc['a'];

foreach ($urls as $url) {
    echo pq($url)->attr('href:contains("/phones/manufacturer/")') . '<br>';
}

【问题讨论】:

    标签: php phpquery


    【解决方案1】:

    使用下面的代码获取该站点的所有网址,

            $doc = new DOMDocument();
                    @$doc->loadHTML(file_get_contents('http://www.phonearena.com/phones/manufacturer/'));
    
                    $ahreftags = $doc->getElementsByTagName('a');
    
                        foreach ($ahreftags as $tag) {
                            echo "<br/>";
                            echo $tag->getAttribute('href');
                            echo "<br/>";
                        }
    
    
    exit;
    

    【讨论】:

      【解决方案2】:

      试试这个,一点点italian guide,jquery documentation

      include_once 'phpQuery.php';
      $url = 'http://www.phonearena.com/phones/manufacturer/';
      $doc = phpQuery::newDocumentFile($url);
      
      $urls = $doc['a[href*="/phones/manufacturer/"]'];
      
      foreach ($urls as $url) {
          echo pq($url)->attr('href') . '<br>';
      }
      

      【讨论】:

        猜你喜欢
        • 2021-03-11
        • 1970-01-01
        • 1970-01-01
        • 2014-09-23
        • 1970-01-01
        • 2020-02-29
        • 2011-01-15
        • 1970-01-01
        • 2016-11-18
        相关资源
        最近更新 更多