curl是利用URL语法在命令行方式下工作的开源文件传输工具,能够从网络上获取网页、图片、脚本、文件数据等等的网络资源,下面就跟随着课程一起来学习如何来使用curl。
curl他能够从互联网上获得各种各样的网络资源。简单来说,curl就是抓取页面的升级版。
curl抓取网页
1、CURL的基本原理
<?php //1.初始化,创建一个新cURL资源 $ch = curl_init(); //2.设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com/"); curl_setopt($ch, CURLOPT_HEADER, 0); //3.抓取URL并把它传递给浏览器 curl_exec($ch); //4.关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
2、利用CURL爬取页面之简单的网页爬虫
< ?php $curl = curl_init("http://www.baidu.com"); //创建curl资源 curl_exec($curl); //传递给浏览器 curl_close($curl); //关闭curl释放资源 ? >
3、利用CURL爬取页面之爬取网页信息并替换
< ?php $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 设置访问网页的URL curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来 $output = curl_exec($curlobj); // 执行 curl_close($curlobj); // 关闭cURL echo str_replace("百度", "php", $output); ? >
4、利用CURL爬取页面之获取天气
< ?php header("Content-Type:text/html; charset=utf-8"); $data = 'theCityName=北京'; $curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"); curl_setopt($curlobj, CURLOPT_USERAGENT, "user-agent:Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0"); curl_setopt($curlobj, CURLOPT_HEADER, 0); //启用时会将头文件的信息作为数据流输出。这里不启用 curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); //如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE curl_setopt($curlobj, CURLOPT_POST, 1); //如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值。这个POST是普通的 application/x-www-from-urlencoded 类型,多数被HTML表单使用。 curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data); //需要POST的数据 curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data))); $rtn = curl_exec($curlobj); if (!curl_errno($curlobj)) { // $info = curl_getinfo($curlobj); // print_r($info); echo $rtn; } else { echo 'Curl error: '.curl_error($curlobj); } curl_close($curlobj); ? >
已有 2064 位网友参与,快来吐槽:
发表评论