注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php 王建

php之路

 
 
 

日志

 
 

利用php curl进行抓取数据  

2012-07-24 20:57:28|  分类: php类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
这2天在利用php自带的curl进行提取别的网站上的数据,但是有的时候需要cookie,所以此时就要利用curl进行设置cookie
function get_maxim_result_by_curl($key){
$url="http://shop.maxim-ic.com/storefront/viewpriceavailable.do?event=PartSearch&Partnumber=$key";
$cookie_file = dirname(__FILE__).'/cookie.txt';
$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');  
curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
//curl_setopt ( $ch, CURLOPT_POST, 1 );
//curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);// 设为TRUE把curl_exec()结果转化为字符串,而不是直接输出
$result = curl_exec($ch);
$error=curl_error($ch);
curl_close($ch);
return $result;
}
其中标注的是进行设置cookie 我的理解是当访问网站的时候curl自动的生成cookie 但是有的就不需要了,另外curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 是设置curl 不进行直接输出。还有可以进行发送post数据,这个进行测试成功,我的么用到上面已经注释掉。但是抓取https的网站有的抓不到,正在研究中。。。简单的做下笔记

  评论这张
 
阅读(694)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018