php抓取页面内容

原创
2016-06-23 14:17:03 735浏览

先抓取一个页面内有用的链接,再抓取页面上链接的内容,用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";  $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 "";


看上面的红色部分,循环内和循环外的数组名是同一个,不会有问题么?
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。