热搜:NVER node 开发 php

php抓取页面内容

2024-09-19 11:55:01
php抓取页面内容

先抓取一个页面内有用的链接,再抓取页面上链接的内容,用for循环,可是循环到第二次的时候就出错,
想了半天,不知道问题出在哪,请各位大神帮忙看下。

$url = 'http://www.meishij.net/chufang/diy/?page=1#listnav';$opts = array(   'http'=>array(     'user_agent' => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",  ) ); $context = stream_context_create($opts); $con = file_get_contents("$url", false, $context);//条目$preg ='#(.*)#';   preg_match_all($preg, $con, $arr); //搜索内容赋值给数组 for($i=0;$i<20;$i++)  //单页面截取{     //print_r($arr[0][$i]);    $ss=$arr[2][$i];      echo $ss;   echo "
"; $opts = array( 'http'=>array( 'user_agent' => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)", ) ); $context = stream_context_create($opts); $cons = file_get_contents("$ss", false, $context);//标题$preg ='#

(.*)

#'; preg_match_all($preg, $cons, $arr); //搜索内容赋值给数组 print_r($arr[0][0]);//内容$preg ='#

(.*)(.*)

#'; preg_match_all($preg, $cons, $arr); //搜索内容赋值给数组 print_r($arr[0][0]);echo "
";print_r($arr[0][1]);echo "
";print_r($arr[0][2]);echo "
";//图片$preg ='#

#'; preg_match_all($preg, $cons, $arr); //搜索内容赋值给数组 print_r($arr[0][0]);echo "
";print_r($arr[0][1]);echo "
";print_r($arr[0][2]);echo "
";print_r($arr[0][3]);echo "
";print_r($arr[0][4]);echo "
";print_r($arr[0][5]);echo "
";print_r($arr[0][6]); }


回复讨论(解决方案)

哪位高手知道告诉下,3Q、

求解,为啥循环不过去。

print_r $arr;//看看$arr什么内容

preg_match_all($preg, $con,  $arr); //搜索内容赋值给数组 

for($i=0;$i {
   
   //print_r($arr[0][$i]); 
   $ss=$arr[2][$i];   
   echo $ss;
   echo "";
   
$opts = array( 
  'http'=>array( 
    'user_agent' => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
  ) 
); 
$context = stream_context_create($opts); 
$cons = file_get_contents("$ss", false, $context);
print_r($cons);
die(); 
//标题
$preg ='#

(.*)

#';   
preg_match_all($preg, $cons,  $arr); //搜索内容赋值给数组 
print_r($arr[0][0]);
 
//内容
$preg ='#

(.*)(.*)

#';   
preg_match_all($preg, $cons,  $arr); //搜索内容赋值给数组 
print_r($arr[0][0]);
echo "";


看上面的红色部分,循环内和循环外的数组名是同一个,不会有问题么?