PHP - curl实现采集

1、开启curl支持

由于php环境安装后默认是没有打开curl支持的,需修改php.ini文件,找到;extension=php_curl.dll,把前面的冒号去掉,重启服务即可;

2、使用curl进行数据抓取

// 初始化一个 cURL 对象

$curl = curl_init();

// 设置你需要抓取的URL

curl_setopt($curl, CURLOPT_URL, ‘http://www.kugou.com/yy/html/special.html‘);

// 设置header

curl_setopt($curl, CURLOPT_HEADER, 1);

// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// 运行cURL,请求网页

$data = curl_exec($curl);

// 关闭URL请求

curl_close($curl);
//print_r($data);

3、通过正则匹配找到关键数据

//$data是curl_exec返回的的值,即采集的目标内容

preg_match_all("/<div class=\"top\"><em>(.*)<\/em><strong><a title=\"(.*)\" href=\"(.*)\">.*<\/a>/",$data, $arr);
print_r($arr);

最后入库等处理操作....

时间: 2024-09-30 14:43:30

PHP - curl实现采集的相关文章

php curl 作采集时的一些参数设置

public function geturl($url){ $ip = "{rand(1, 255)}.{rand(1, 255)}.{rand(1, 255)}.{rand(1, 255)}"; // 初始化一个 cURL 对象 $curl = curl_init(); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gec

rolling_curl curl批量采集函数留份

摘自:http://www.searchtb.com/2012/06/rolling-curl-best-practices.html 1 function rolling_curl($urls, $delay=0) { 2 $queue = curl_multi_init(); 3 $map = array(); 4 5 foreach ($urls as $url) { 6 $ch = curl_init(); 7 8 curl_setopt($ch, CURLOPT_URL, $url);

CURL多线程采集

set_time_limit(0);    $dbConfig =array(            'dbHost' => 'localhost',            'dbName' => 'ymall',            'dbUser' => 'root',            'dbPass' => 'cinternet_245.',      );    $store_id=327;    $ducpath=$_SERVER['DOCUMENT_ROOT']

php curl简单采集图片生成base64编码(并附curl函数参数说明)

许多年前的代码突然拿来一用,特做此笔记(此处的code用来定位内部错误位置,非http code) [php] view plain copy <?php $url="http://c.hiphotos.baidu.com/image/w%3D210/sign=ed30880babec8a13141a50e1c7029157/d52a2834349b033be1a9503e17ce36d3d539bd35.gif"; function curl_url($url,$type=0,

使用culr

使用curl在采集有语言要求的网站时,首先需要发送带有语言设置的请求,再发送你要的请求如: 注:vget(); 这里没提供: $url='http://www.hotels.com/?locale=en_US&pos=HCOM_US';vget($url); $url="http://www.hotels.com/hotel/details.html?roomInfoList%5B0%5D.numberOfAdults=1&previousDateful=false&re

wecenter—开启CURL扩展,让服务器支持PHP curl函数(远程采集)

curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具, 默迹还是侵向于用snoopy.class.php,因为他效率比较高且不需要服务器特定配置支持,在普通虚拟主机中即可使用: file_get_contents()效率稍低些,常用失败的情况.curl()效率挺高的,支持多线程,不过需要开启下curl扩展. 下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssl

使用curl模拟ip和来源进行网站采集的实现方法

对于限制了ip和来源的网站,使用正常的采集方式是不行的.本文将介绍一种方法,使用php的curl类实现模拟ip和来源,实现采集限制ip和来源的网站. 1.设置页面限制ip和来源访问 server.php <?php $client_ip = getip(); $referer = getreferer(); $allow_ip = '192.168.1.100'; $allow_referer = 'http://www.uxuew.cn'; if($client_ip==$allow_ip &am

curl数据采集系列之单页面采集函数get_html

在做数据采集时经常要使用到curl+正则的方式采集需要的数据 根据自己的工作经验 把自己写的一些常用自定义函数 拿到博客园来分享 如果有写得不恰当的地方 请多多指教 这是一个系列 没办法在一两天写完 所以一篇一篇的发布 大致大纲: 1.curl数据采集系列之单页面采集函数get_html 2.curl数据采集系列之多页面并行采集函数get_htmls 3.curl数据采集系列之正则处理函数get _matches 4.curl数据采集系列之代码分离 5.curl数据采集系列之并行逻辑控制函数we

使用file_get_content系列函数和使用curl系列函数采集图片的性能对比

由于公司的一个汽车网站的后台的汽车内容都是主要是来自与汽车之家的,编辑的同事们必须天天手动去对着汽车之家来添加汽车,实在是太蛋疼了.于是乎,为了改变这种状况,作为一个开发码农,我的任务就来了...那就是准备做一个功能,只要粘贴对应的汽车之家的网址url就能对这些数据进行自动填充到我们后台的表单中,目前基本的填充都实现了,但是还是没有能够把对应的汽车相册采集进来. 采集图片的功能我以前也做过,但是汽车之家大部分的汽车都有挺多图片的,开始的时候,我打算使用以前的采集图片的办法,也就是使用file_g