欢迎加入,新群号码:99640845


最近朋友抓取点数据,写了几个抓取数据的脚本。

主要功能是,分别抓起x了么,美x,x度外卖的餐厅和菜品数据 ,后期我把代码分享出来。

今天就先说说简单的页面抓取

-------------------

php的抓取主要采用了 CURL一个非常强大的开源库。可以自行百度一下。

// 1. 初始化
 $ch = curl_init();
 // 2. 设置选项,包括URL
 curl_setopt($ch,CURLOPT_URL,"http://www.ishenshou.cn");//我弄的一个小论坛 ==
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch,CURLOPT_HEADER,0);
 // 3. 执行并获取HTML文档内容
 $output = curl_exec($ch);
 if($output === FALSE ){
 echo "CURL Error:".curl_error($ch);
 }
 // 4. 释放curl句柄
 curl_close($ch);

这样就可以简单的把一个页面全部的源码获取过来,当然只是前端页面的代码。


看过例子我想所有人应该都会觉得蛮简单的,事实上也正是如此。

抓取一个页面的信息其实就是模拟访问然后获取它页面上所有的信息,通过正则表达式匹配出想要的信息。

而有的平台都是把数据通过json的方式直接发送给前端,这样对于抓取数据来说更加简单 只要根据相应的接口规则发起请求就可以直接获取json数据就不用正则匹配了。

x了么,美x,x度外卖的餐厅数据都是通过接口直接获取json抓到的 餐厅信息是通过正则匹配的。


总结:首先你要知道正则表达式,然后你要知道curl的使用(最好有一个封装好的curl的工具函数),最好有一个抓包工具我用的是火狐自带的Firebug 就很好用


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐