zoukankan      html  css  js  c++  java
  • 利用php的curl扩展进行模拟浏览器访问网页

    我们一般要抓取一个网站的静态页面来完成我们的需求,其实在这里面有很多种方式可以完成,

    php内置函数file_get_contents();file();readfile();都可以进行网页抓取,但是这种方式毕竟是有很大

    局限性的,例如我们要访问一个需要登录的网站,需要登录验证信息,这是后php内置函数就显得疲软了

    所以我们发现了一个php的扩展类curl来帮助我们完成这种事情,curl是php的扩展之一我们只需要安装它

    并且在php.ini文件中打开他的扩展就可以使用了,这里我们不多赘述,其实curl使用起来还是蛮简单的下面

    我们给出一个简单的demo:

    <?php
    $url = "www.baidu.com";//以百度为例
    $data = array();
    $curl = curl_init();//初始化一个curl会话;

    curl_setopt($curl,CURLOPT_URL,$url);//指定访问的url

    curl_setopt($curl,CURLOPT_POST,$data);//post请求的参数,

    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//获取的信息以文件流的方式返回

    $data = curl_exec($curl);//执行curl;
    var_dump($data);
    curl_close($curl); // 关闭CURL会话

    ?>

    这就完成了一次curl会话,大家感觉是不是没什么特别之处?,别急,我们来看看他的精髓之处就是可以传参数,当然什么cookies呀!验证的这些东西就可以通过这个来完成,

    curl参数很多这里就不一一介绍了;

    另外推荐大家去看一看snoopy抓取类也是不错的一个工具,simple_html_dom文档解析也很不错。

  • 相关阅读:
    新的nivida显卡安装时候出现unknown chipset
    cuda8和opencv3.1.0出现的问题
    es6-变量解构赋值
    web页面跳转的几种方式
    HTTP返回码中301与302的区别 (转载)
    EasyUI创建异步树形菜单和动态添加标签页tab
    Apache Rewrite匹配问号的问题
    Apache 启动.htaccess 的操作方法
    mysql、mysqli、PDO一句话概括比较
    maven的生命周期,和maven常用命令
  • 原文地址:https://www.cnblogs.com/sunke/p/5649949.html
Copyright © 2011-2022 走看看