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

发布时间 - 2026-01-11 02:57:47    点击率:

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  # 抓取网站内容并保存  # 基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例  # php使用QueryList轻松采集js动态渲染页面方法  # jquery+thinkphp实现跨域抓取数据的方法  # thinkphp5 URL和路由的功能详解与实例  # ThinkPHP5查询数据及处理结果的方法小结  # TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例  # thinkphp5.1 文件引入路径问题及注意事项  # thinkPHP5(TP5)实现改写跳转提示页面的方法  # tp5(thinkPHP5)框架数据库Db增删改查常见操作总结  # thinkphp5 加载静态资源路径与常量的方法  # tp5(thinkPHP5)框架实现多数据库查询的方法  # TP5框架使用QueryList采集框架爬小说操作示例  # 抓到  # 都有  # 有很多  # 如有  # 找不到  # 是从  # 一本  # 希望能  # 谢谢大家  # 一本书  # 第一页  # 人教版  # 七年级  # 把书  # 下载图片  # 疑问请  # 一张图  # 下载完成  # dzkbw  # books 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 使用C语言编写圣诞表白程序  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel如何实现用户密码重置功能?(完整流程代码)  iOS发送验证码倒计时应用  微信小程序 闭包写法详细介绍  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  用v-html解决Vue.js渲染中html标签不被解析的问题  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Bootstrap CSS布局之列表  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何在Windows虚拟主机上快速搭建网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  详解Huffman编码算法之Java实现  网站优化排名时,需要考虑哪些问题呢?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  如何快速搭建高效服务器建站系统?  如何打造高效商业网站?建站目的决定转化率  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  利用python获取某年中每个月的第一天和最后一天  微信小程序 wx.uploadFile无法上传解决办法  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  青岛网站建设如何选择本地服务器?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  潮流网站制作头像软件下载,适合母子的网名有哪些?  Android Socket接口实现即时通讯实例代码  利用 Google AI 进行 YouTube 视频 SEO 描述优化  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  零基础网站服务器架设实战:轻量应用与域名解析配置指南  实例解析angularjs的filter过滤器  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  JavaScript Ajax实现异步通信  详解vue.js组件化开发实践  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  韩国服务器如何优化跨境访问实现高效连接?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  iOS验证手机号的正则表达式