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验证手机号的正则表达式

