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 相关文章推荐
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 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
PHP新手上路(十一)
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python async with和async for的使用
2019/06/20 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
基于python监控程序是否关闭
2020/01/14 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
小学生自我鉴定
2013/10/12 职场文书
出纳岗位职责范本
2013/12/01 职场文书
学校办公室主任职责
2013/12/27 职场文书
大学生毕业鉴定
2014/01/31 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
期终自我鉴定
2014/02/17 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
创建青年文明号材料
2014/05/09 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
给老婆的检讨书
2015/01/27 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
公开致歉信
2019/06/24 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL