首页 > 未分类 > php远程获取数据获取网站内容
2014
08-07

php远程获取数据获取网站内容

这是一个php远程获取数据的方法,待完善
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0);
set_time_limit(0);
function str_substr($str ,$statr, $end) { //字符串截取函数
  $x = strpos($str, $statr);
   return substr($str,  $x+strlen($start), strpos($str, $end)-$x+strlen($end));  
}
//////////////////////////////////////////////////
//$url="http://list.jd.com/list.html?cat=6728,6740,9961";//[/url]根据采集内容自己定

function get_web_content($url){
$str=file_get_contents($url); ///file_get_contents -- 将整个文件读入一个字符串
$start='<div class="attr"><div class="a-key">';//截取内容前的html   最后网页中唯一
$end='<div class="attr-extra"><div>';//截取内容后的html 最后网页中唯一
$content=str_substr($str , $start, $end);

$content = str_replace('<div class="attr"><div class="a-key">', '<p>', $content);
$content = str_replace('</div><div class="a-values">', '</p>', $content);
$content = strip_tags($content,'<p><a>');
$content = str_replace('更多', '', $content);
$content = str_replace('收起', '', $content);
$content = str_replace('所有品牌', '', $content);
$content = str_replace('其它', '', $content);
$content = str_replace('ABCDEFGHIJKLMNOPQRSTUVWXYZ', '', $content);
$content = str_replace('<a', '[[@@<a', $content);
$content = str_replace('</a>', '</a>@@]]', $content);
$content = strip_tags($content,'<p>');

//echo $content; //测试采集到的内容

$content = explode('@@]]<p>',$content);
foreach($content as &$v){
    $c = explode('</p>[[@@',$v);
    foreach($c as &$cs){
        $cs = str_replace('<p>', '', $cs);
        $cs = str_replace(':', '', $cs);
    }
    $cc = explode('@@]][[@@',$c[1]);
    foreach($cc as &$ccs){
        $ccs = str_replace('@@]]', '', $ccs);
    }
    $d[$c[0]]=$cc;
}
$d = serialize($d);

return $d;
}
?>


来源:原创

友荐云推荐