最近群一位朋友需要有一个简单的类似“采集功能“的需求,之所以说简单,那是因为他不是去采集别人的内容,他采集的是他自己网站的数据从而需要去判断什么的?具体的逻辑我也不是很清楚。
反正此文章这个示例代码已经满足他的要求了,也解决了他的问题。
一、开启curl支持 由于php环境安装后默认是没有打开curl支持的,需修改php.ini文件,找到 ;extension=php_curl.dll,把前面的冒号去掉,重启服务即可;
二、使用curl进行数据抓取
#1、初始化一个 cURL 对象
$curl = curl_init();
#2、设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.kugou.com/yy/html/special.html');
#3、设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
#4、设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
#5、运行cURL,请求网页
$data = curl_exec($curl);
#6、关闭URL请求
curl_close($curl);
//print_r($data);
三、通过正则匹配找到关键数据
//$data是curl_exec返回的的值,即采集的目标内容
preg_match_all("/(.*).*/",$data, $arr);
print_r($arr);
四、最后存入数据库、文字替换…等等处理操作 str_replace()函数可用于文字替换。关于其它的自己去适当的研究拓展吧!
关注
打赏