php curl 采集
curl 采集五个步骤:
1.curl_init()初始化curl
2.curl_setopt()设置传输数据和参数
3.curl_exec()执行传输并获取返回数据
4.curl_errono()返回错误码
5.curl_close()关闭curl
get 方式:
$curl = curl_init(); $url='http://www.baidu.com'; //设置请求url curl_setopt($curl, CURLOPT_URL,$url ); //是否将头文件输出 curl_setopt($curl, CURLOPT_HRADER,TRUE ); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE ); // 运行cURL,请求网页 $data = curl_exec($curl); // 关闭URL请求
curl_close($curl);
post方式:
$cookie_file = dirname(__FILE__) . '/cookie.txt';
$url = 'http://manage.wxpro.loc/admin/login';
$get_url = 'http://manage.wxpro.loc/';
$post_data = array('username'=>'username','password'=>'password');
//初始化一个curl对象
$curl = curl_init();
//设置你需要抓取的 url
curl_setopt($curl,CURLOPT_URL,$url);
//设置crul参数,要求结果保存到字符串中还是输出到屏幕上
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
//post数据
curl_setopt($curl,CURLOPT_POST,1);
//post变量
curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);
//存储cookie
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);
//运行curl,请求网页
$data = (array)json_decode(curl_exec($curl));
//关闭url请求
curl_close($curl); if($data['error'] ==0){
//带着上面得到的COOKIE获取需要登录后才能查看的页面内容
$ch = curl_init($get_url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch); var_dump($contents);
}
curl_setopt 参数解释:
1.CURLOPT_URL 需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候。
2.CURLOPT_HEADER TRUE 启用时会将头文件的信息作为数据流输出。FALSE 不会输出
3.CURLOPT_RETURNTRANSFER TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。false 直接输出
4.CURLOPT_COOKIEJAR 调用curl_close后,保存 cookie信息的条件
5.CURLOPT_COOKIEFILE 包含 cookie 数据的文件名,cookie 文件的格式可以是 Netscape 格式,或者只是纯 HTTP 头部风格,存入文件。如果文件名是空的,不会加载 cookie,但 cookie 的处理仍旧启用。
php curl 采集的更多相关文章
- curl采集 根据关键词 获取雅虎竞价排名
之前写过curl批处理采集数据,这里贴上完整版本,代码很简单,废话不说,上代码,新手欢迎指教!!! 代码只写到 获取到链接了,至于排名 后边数组的键不就是排名喽... <?php /** * B ...
- Curl 采集乱码 gzip 原因及解决方案 utf-8
用curl获取一个经过gzip压缩后的网页时返回乱码 原因大体就是服务器返回的Content-Encoding的值和网页的编码不同,造成curl解码出问题,直接将gzip或deflate编码的文件下载 ...
- 用curl采集需要登录的页面
登陆cookie存储至自定义目录 $cookie_dir = tempnam('.', 'cookie');curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_ ...
- php curl采集数据问题汇总
1. 使用curl获取网页数据提示: "curl: (6) Could not resolve host: xxx.xxx.com ; Name or service not known&q ...
- php curl采集,服务器gzip压缩返回数据怎么办
一般服务器不会胡乱返回gzip压缩的数据,一般是客户端请求的头部里包含你浏览器能接受的压缩方式, Accept-Encoding:gzip,deflate,sdch 这里是gzip .deflat ...
- curl 采集的时候遇到60报错怎么办?
1.到https://curl.haxx.se/ca/cacert.pem复制下文本粘贴到文件夹cart.pem 然后把catr.pem放到PHP的bin目录下 2.在php.ini中修改下面这句话, ...
- curl 采集的时候遇到301怎么办
采集的时候遇到301,采集数据有错误 $ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt( ...
- PHP curl采集
if (function_exists('curl_init')) { //检查函数是否存在 $url = "http://***.com/"; $ch = curl_init() ...
- PHP curl 采集内容之规则 及图片下载方法2
<?phpheader("Content-type:text/html; charset=utf-8");/*$pattern = '/xxx(.*)yyyy/isU'; / ...
随机推荐
- 将图片插入到excel中
static void Main(string[] args) { //说明:插入图片 //1.创建EXCEL中的Workbook IWorkbook myworkbook = new HSSFWor ...
- HDU-1233 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...
- splitFile2SmallFile
1. split file into several files """ this is aa customizable version of the standard ...
- 利用git+hugo+markdown 搭建一个静态网站
利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...
- 《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册
<zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ...
- hashCode的作用
在一般的应用中你不需要了解hashCode的用法,但当你用到HashMap,HashSet等集合类时要注意下hashCode. 你想通过一个object的key来拿HashMap的value, ...
- linux下JsonServer启动
1:进入到JsonServer run.sh目录下; 2:执行"export PATH=.:$PATH"; 3:执行"run.sh start"; 这样便把Js ...
- 利用 async & await 的异步编程
走进异步编程的世界 - 开始接触 async/await 利用 async & await 的异步编程 async 的三大返回类型 公司技术需求备忘录
- 30分钟学会如何使用Shiro
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...
- GDB的深入研究
GDB的深入研究 一.GDB代码调试 (一)GDB调试实例 在终端中编译一个示例C语言小程序,保存为文件 gdblianxi.c 中,用GCC编译. 在上面的命令行中,使用-o参数指定了编译生成的可执 ...