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


Posted in PHP onAugust 25, 2017

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 抓取网站的内容并且保存到本地的实例详解

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

PHP 相关文章推荐
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 #PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 #PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 #PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 #PHP
PHP钩子与简单分发方式实例分析
Sep 04 #PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 #PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 #PHP
You might like
PHP5 安装方法
2007/01/15 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
PHP实现的购物车类实例
2015/06/17 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
js的逻辑运算符 ||
2010/05/31 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
解析Python中的异常处理
2015/04/28 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
财务会计专业推荐信
2013/11/30 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
条幅标语大全
2014/06/20 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2014财务年终工作总结
2014/12/08 职场文书
python绘制箱型图
2021/04/27 Python
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫