cURL的基本原理

curl是利用URL语法在命令行方式下工作的开源文件传输工具,他能够从互联网上获得各种各样的网络资源。简单来说,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);
?>

  

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);
?>

  

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);
?>

  $data用于填写位置。

后面的网址是开放的接口.

转载于:https://www.cnblogs.com/laomao666/p/10952235.html

PHP使用CURL抓取页面相关推荐

  1. curl抓取页面时遇到重定向的解决方法(转)

    用php的curl抓取网页遇到了问题,为阐述方便,将代码简化如下: [php] view plaincopy <?php function curlGet($url) { $ch = curl_ ...

  2. curl抓取页面是乱码 php_php解决curl编码问题-curl乱码-curl在post表单时乱码

    目前经常使用的编码为UTF-8当然还有GB2312,GBK等编码,在进行网页的抓取分析的时候总会遇到乱码的问题,当网页编码为GB2312数据库编码为UTF-8时也会遇到这个问题. php的mb_con ...

  3. curl抓取页面是乱码 php_php curl 获取网页内容 中文乱码

    获取是没问题..但是似乎字符编码上有些问题, //header( "Content-type:text/html;Charset=utf-8" ); $urls = [ 'http ...

  4. curl抓取页面每次生成新的session问题

    2019独角兽企业重金招聘Python工程师标准>>> curl_setopt($ch , CURLOPT_COOKIEJAR , COOKIE_FILE_PATH); curl_s ...

  5. crul php 反爬虫,pixabay 反爬好厉害,浏览器能访问,复制所有 headers 用 curl 抓取,直接 403,好神奇!...

    这几天不能外出,在家闲来无事准备写爬虫练手,选了个 pixabay.com ,浏览器正常访问,复制浏览器 headers,用 curl 抓取页面内容: $ch = curl_init('https:/ ...

  6. PHP使用CURL抓取网页

    CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS ...

  7. 【php】curl模拟登录抓取页面信息

    [php]curl模拟登录抓取页面信息 在本项目中,使用php抓取四川大学综合教务网站的成绩信息.课程信息以及登录用户的基本资料,解析数据并存入数据库,以实现对所得信息的进一步分析,并呈现给用户. 本 ...

  8. 爬虫抓取页面数据原理(php爬虫框架有很多 )

    爬虫抓取页面数据原理(php爬虫框架有很多 ) 一.总结 1.php爬虫框架有很多,包括很多傻瓜式的软件 2.照以前写过java爬虫的例子来看,真的非常简单,就是一个获取网页数据的类或者方法(这里的话 ...

  9. jquery页面跳转带cookie_搭建谷歌浏览器无头模式抓取页面服务,laravelgt;phpgt;pythongt;docker...

    背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...

最新文章

  1. 在Vmware中安装Ubuntu
  2. 团队计划(5.25)
  3. 本地服务器模板网站怎么安装,本地服务器怎样安装帝国CMS模版网站
  4. 背包问题lingo求解
  5. VTK:可视化算法之CutWithCutFunction
  6. 进程、线程与任务程序之间的关系
  7. 【超详细教程】如何使用TypeScript和GraphQL开发应用
  8. 【网络爬虫入门04】彻底掌握BeautifulSoup的CSS选择器
  9. 解决npm npm does not support Node.js
  10. Git - 推送当前分支快捷方式
  11. 使用javascript实现在页面打印的效果的三种方式
  12. 服务器注册dll,我在注册全部dll时出现. “Microsoft(C)注册服务器已停止工作”,我是为了解决一个...
  13. java 截位法保留小数_资料分析——截位法
  14. 小程序云开发添加html页面,微信小程序云开发js抓取网页内容
  15. css页脚怎么居中,无法使我的页脚内容居中
  16. notifier通知链机制
  17. 一篇很好的《数据分析》文章
  18. Redis持久化(一)-RDB文件的创建和载入
  19. [渝粤教育] 西南科技大学 统计学原理 在线考试复习资料(3)
  20. 记录自己学习尚硅谷javaweb2022版中遇到的一些问题

热门文章

  1. 在Controller中使用AOP
  2. hadoop中实现定制Writable类
  3. JavaScript操作大全整理(思维导图七--字符串函数)
  4. 框架模式和设计模式的区别
  5. 多行字符串的表示方式
  6. 使用python做最简单的爬虫
  7. Oracle 10g 问题集锦
  8. 彻底解决zend studio 下 assignment in condition警告
  9. ios 图片添加阴影
  10. 第三章 MongoDb Java应用 3.2