Node.js 使用http客户端得到网站的图片下载到本地
2024-09-25 03:35:35
以下代码有些冗余,大家捡核心看就好。
// 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // cheerio模块,提供了类似jQuery的功能 var cheerio = require("cheerio"); // 内置文件处理模块 var fs=require('fs'); // 请求参数JSON var options; // 请求并获得数据 var req; // 存储页码 var index=4; function downloadImg(pageNumber){ console.log("开始读取第"+pageNumber+"页"); // http://images2017.cnblogs.com/blog/162475/201709/162475-20170929115047356-360094413.png // 实际图片地址 options={ hostname:'images2017.cnblogs.com',// 这里别加http://,否则会出现ENOTFOUND错误 port:80, path:'/blog/162475/201709/162475-20170929115047356-360094413.png',// 子路径 method:'GET', }; req=http.request(options,function(resp){ var imgData = ""; resp.setEncoding("binary"); resp.on('data',function(chunk){ imgData+=chunk; }); resp.on('end',function(){ fs.writeFile("162475-20170929115047356-360094413.png", imgData, "binary", function(err){ if(err){ console.log("文件下载失败."); } console.log("下载成功"); }); }); }); // 超时处理 req.setTimeout(5000,function(){ req.abort(); }); // 出错处理 req.on('error',function(err){ if(err.code=="ECONNRESET"){ console.log('socket端口连接超时。'); }else{ console.log('请求发生错误,err.code:'+err.code); } }); // 请求结束 req.end(); } // 包一层函数 function start(i){ downloadImg(i); } // 开始遍历 start(index);
2017年9月30日10:31:31
最新文章
- Python 【第十章】 Django路由
- c#操作IIS站点
- 肯爹的 StringUtils.isNumeric(String str)
- [你必须知道的.NET]第三十五回,判断dll是debug还是release,这是个问题
- 【BZOJ】1925: [Sdoi2010]地精部落 DP+滚动数组
- JavaScript高级程序设计25.pdf
- winform批量查询单号剔除重复
- LeetCode_Rotate Image
- 【示例代码】HTML+JS 画图板源码分享
- MyBatis介绍
- 安徽省2016“京胜杯”程序设计大赛_E_转啊转
- 面试题(php部分)
- 3D Slicer中文教程(六)—调用matlab函数(MatlabBridge使用方法)
- BUAA-OO-第二单元总结
- Linux内存管理 (16)内存规整
- jvm 虚拟机内存模型
- 论文阅读笔记十:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs (DeepLabv2)(CVPR2016)
- [hgoi#2019/2/18]比较水
- UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)
- Android-okhttp
热门文章
- PoI导出列表优化
- docker从零开始 存储(四)tmpfs挂载
- Django基础之模板
- yii2.0在model里自定义数据表
- WebDriver框架之自动运行失败的case
- (十一)数组array
- (5)python 字符串和输入输出
- Python与数据结构[4] ->; 散列表[2] ->; 开放定址法与再散列的 Python 实现
- [Python Debug]Kernel Crash While Running Neural Network with Keras|Jupyter Notebook运行Keras服务器宕机原因及解决方法
- 【转】vector用法