<?php /** * 采集百度的搜索结果,可以用到站内搜索,节省资源 * 分页部分就没有处理了,需在函数外处理 * * @author Aboc QQ:9986584 */ function searchBaidu($keyword,$page=0){ if(empty($keyword))return false; $keyword = urlencode($keyword); if($page>76)$page=76; $content = file_get_contents("http://www.baidu.com/s?wd=".$keyword.'&pn='.$page); //echo $content; //如果找不到 if(strpos($content,'抱歉,没有找到与“<font color="#C60A00">')!==false)return false; preg_match('/百度一下,找到相关网页(.*)篇,用时/',$content,$a); //搜索结果数 $num = str_replace(array('约',','),'',$a[1]); $page = ceil($num)/10; //echo $num; //采集到的标题 preg_match_all('/(\<font size=\"3\"\>(.+?)\<\/font\>\<\/a\>\<br\>)/',$content,$b); //print_r($b[2]); $title = $b[2]; //采网址 preg_match_all('/(\<a onmousedown=\"(.+?)\" href=\"(.+?)\" target=\"_blank\"\>)/',$content,$c); //print_r($c); $href = $c[3]; //采内容 preg_match_all('/(\<font size=-1\>(.+?)\<br\>)/',$content,$d); //print_r($d); $detail = $d[2]; $end = array(); $end[0] = array('num'=>ceil($num),'page'=>$page); foreach( $title as $key=>$row ){ $end[1][$key]['title']=$title[$key]; $end[1][$key]['href']=$href[$key]; $end[1][$key]['detail']=$detail[$key]; } return $end; } /** * 使用 */ if( $search = searchBaidu('www.yiwuku.com') ) print_r($search); else echo '没有找到';
采集百度的搜索结果,可以用到站内搜索,节省资源
2012-1-30 17:37 Monday
分类: PHP 评论(54) 浏览(77130)
+1
26
前一篇: [转]PHP采集教程示例
后一篇:用PHP的DOM操作xml的例子
留下你的看法: