最近用PHP实现了一个简单的爬虫程序,爬的是百度百科,但是只可以爬一些词条,不能爬全部的.
<?php
header("Content-type: text/html; charset=utf-8");
//接受前台数据
$data_id=$_POST['data_id'];
$url="http://baike.baidu.com/item/".$data_id;
//var_dump($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$html = curl_exec($ch);
curl_close($ch);
//var_dump($html);
//匹配指定div中间的内容
$isMatched = preg_match('/<div class="para" label-module="para">(.*?)<\/div>/', $html, $matches);
//var_dump($isMatched, $matches);
//去除所有HTML标签
$data=preg_replace('{<(S*?)[^>]*>.*?|<.*? />}','',$matches);
//echo isset($data[0])?$data[0]:'未搜索到...';
$string=implode('',$matches);//数组转化为字符串 ''表示以此为胶合符
//var_dump($string);
$result=strip_tags($string);//字符串操作函数 去除HTML和PHP标签
echo $result;
?>
其实主要就是会用php的curl函数,得到页面,然后用正则表达式和字符串函数匹配出你想要的内容。
在此,本人去学习了正则表达式基本内容后才成功的做出来,粘出来的是后台处理,前台页面就不展示了