在PHP中传递网址的问题

达兰布罗

我正在URL中进行一些操作,如下所示。

 $paginationPages=array();
 $productCount=intval($htmlProductPage->find('div.paging span.itemcount',0)->plaintext);
 if($productCount/16>1){
    $pagecount=ceil($productCount/16);

    for($i=2;$i<=$pagecount;$i++){
        $urlSplitArray=explode('.',$productUrl);
        $urlSplitCount=count($urlSplitArray);
        $urlSplitArray[$urlSplitCount-2].="[".$i."]";
        $paginationPages[]= implode('.',$urlSplitArray)."<br>";
    }
 #print_r($paginationPages);

}

我在foreach中获得了所有链接以进一步进行

foreach($paginationPages as $nextUrl){
  #$nextUrl="http://www.100percent.co.nz/kitchen-and-cooking/ovens/freestanding[2].htm";
  $htmlProductPage=file_get_html($nextUrl);
  foreach($htmlProductPage->find("div.Item") as $element){ //error occurs here
    echo $element->outertext;
  }
}

变量$nextUrl具有值

http://www.100percent.co.nz/kitchen-and-cooking/ovens/freestanding[2].htm

div.Item动态传递链接时找不到元素但是,当我在for循环中直接分配url时,我可以找到相同的元素。为什么会这样呢?

我惊异了外星人

由于此语句而出现问题:

$paginationPages[]= implode('.',$urlSplitArray)."<br>";

的print_r $paginationPages

Array
(
    [0] => http://www.100percent.co.nz/kitchen-and-cooking/ovens/freestanding[2].htm<br>
)

您正在<br>页面名称末尾标记一个元素,这意味着无法使用以下代码检索页面:

foreach($paginationPages as $nextUrl){
    $htmlProductPage=file_get_html($nextUrl);

我建议添加一个file_get_html已成功检索页面的支票,然后再分析该页面以抓取内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章