0

是的,我正在构建一个网络爬虫,我的代码中有一部分转换为绝对 URL,而不是 /macbookpro/ 到http://www.apple.com/macbookpro。但是当我回显我的代码时,它只打印一个结果,这是它看到原因的第一个链接。我是否必须创建一个数组,因为当我这样做时,我回显了数组并列出了“数组”这个词

   <?php
require_once('simplehtmldom_1_5/simple_html_dom.php');
require_once('url_to_absolute/url_to_absolute.php');

          $URL = 'http://www.theqlick.com'; // change it for urls to grab  
// grabs the urls from URL 
          $file  = file_get_html($URL);
           foreach ($file->find('a') as $theelement) {
          $links = url_to_absolute($URL, $theelement->href);
        } 
  echo $links;
    ?>
4

3 回答 3

0

如果您正在尝试构建一个数组,$links您需要做

$links[] = url_to_absolute($URL, $theelement->href);

现在,您正在$links用每个循环迭代覆盖 的值。

您还应该$links = array();在 foreach 循环之前的某处贴花。

于 2012-09-13T17:13:18.857 回答
0
<?php
require_once('simplehtmldom_1_5/simple_html_dom.php');
require_once('url_to_absolute/url_to_absolute.php');

$links = Array();
$URL = 'http://www.theqlick.com'; // change it for urls to grab  
// grabs the urls from URL 
$file  = file_get_html($URL);
foreach ($file->find('a') as $theelement) {
   $links[] = url_to_absolute($URL, $theelement->href);
} 
print_r($links);

所以你需要初始化数组,用 [] 添加它,最后使用适合实际打印出来的东西,比如 print_r。

于 2012-09-13T17:14:41.327 回答
0

var_dump 您的数组,它为您提供对象的文本表示。它将向您显示数组及其元素。Echo 更多的是用于输出字符串。您可以循环您的数组并回显每个元素,但如果您只想查看它,var_dump 就是答案。

http://www.php.net/manual/en/function.var-dump.php

于 2012-09-13T17:12:18.793 回答