thinkphp 抓取网站的内容并且保存到本地的实例详解

 更新时间:2017年08月25日 11:28:37   投稿:lqh  
这篇文章主要介绍了thinkphp 抓取网站的内容并且保存到本地的实例详解的相关资料,需要的朋友可以参考下

thinkphp 抓取网站的内容并且保存到本地的实例详解

我需要写这么一个例子,到电子课本网下载一本电子书。

电子课本网的电子书,是把书的每一页当成一个图片,然后一本书就是有很多张图片,我需要批量的进行下载图片操作。

下面是代码部分:

 public function download() {
    $http = new \Org\Net\Http();
    $url_pref = "http://www.dzkbw.com/books/rjb/dili/xc7s/";
    $localUrl = "Public/bookcover/";
    $reg="|showImg\('(.+)'\);|";
    $i=1;
    
    do {
      $filename = substr("000".$i,-3).".htm";
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url_pref.$filename);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      $html = curl_exec($ch);
      curl_close($ch);
      
      $result = preg_match_all($reg,$html,$out, PREG_PATTERN_ORDER);
      if($result==1) {
        $picUrl = $out[1][0];
        $picFilename = substr("000".$i,-3).".jpg";
        $http->curlDownload($picUrl, $localUrl.$picFilename);
      }
      $i = $i+1;
    } while ($result==1);

    echo "下载完成";
  }

我这里是以人教版地理七年级地理上册为例子 http://www.dzkbw.com/books/rjb/dili/xc7s/001.htm

网页是从001.htm开始,然后数字一直加

每个网页里面都有一张图,就是对应课本的内容,以图片的形式展示课本内容

我的代码是做了一个循环,从第一页开始抓,一直抓到找不到网页里的图片为止

抓到网页的内容后,把网页里面的图片抓取到本地服务器

抓取后的实际效果:

以上就是thinkphp 抓取网站的内容并且保存到本地的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • php后台多用户权限组思路与实现程序代码分享

    php后台多用户权限组思路与实现程序代码分享

    很多时候我们再开发过程中需要考虑到多用户权限问题,这篇文章大家可以参考下
    2012-02-02
  • php htmlentities()函数的定义和用法

    php htmlentities()函数的定义和用法

    下面小编就为大家带来一篇php htmlentities()函数的定义和用法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Yii2实现ajax上传图片插件用法

    Yii2实现ajax上传图片插件用法

    这篇文章主要介绍了Yii2实现ajax上传图片插件用法,结合实例形式分析了Yii上传图片插件的具体使用方法,需要的朋友可以参考下
    2016-04-04
  • PHP实现百度人脸识别

    PHP实现百度人脸识别

    这篇文章主要为大家详细介绍了PHP实现百度人脸识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • PHP 绘制网站登录首页图片验证码

    PHP 绘制网站登录首页图片验证码

    几乎所有的网站登录页都会有验证码,验证码是一种安全保护机制,用于防止垃圾注册机大量注册用户账号占用服务器内存从而使服务器瘫痪。接下来通过本文给大家介绍PHP 绘制网站登录首页图片验证码,需要的朋友参考下
    2016-04-04
  • ThinkPHP 3.2.3实现加减乘除图片验证码

    ThinkPHP 3.2.3实现加减乘除图片验证码

    这篇文章主要为大家详细介绍了ThinkPHP 3.2.3实现加减乘除图片验证码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 对laravel的session获取与存取方法详解

    对laravel的session获取与存取方法详解

    今天小编就为大家分享一篇对laravel的session获取与存取方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP未登录自动跳转到登录页面

    PHP未登录自动跳转到登录页面

    为了满足用户体验度,需要用户登录才能跳转到页面,这篇文章给大家分享PHP未登录自动跳转到登录页面的实例代码,需要的朋友参考下
    2016-12-12
  • PHP中的reflection反射机制测试例子

    PHP中的reflection反射机制测试例子

    这篇文章主要介绍了PHP中的reflection反射机制测试例子,从本文可以学到一些反射的使用方法,需要的朋友可以参考下
    2014-08-08
  • PHP笔记之:基于面向对象设计的详解

    PHP笔记之:基于面向对象设计的详解

    本篇文章对面向对象设计进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论