位置: 编程技术 - 正文

使用nodejs下载风景壁纸(nodejs怎么下载其他版本)

编辑:rootadmin

推荐整理分享使用nodejs下载风景壁纸(nodejs怎么下载其他版本),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js下载教程,如何下载nodejs,如何下载nodejs,nodejs怎么下载,nodejs怎么下载安装,node.js 文件下载,nodejs怎么下载安装,node js下载,内容如对您有帮助,希望把文章链接给更多的朋友!

需要用到的第三方模块有:

superagent

superagent-charset (手动指定编码,解决GBK中文乱码)

cheerio

express

async (并发控制)

完整的代码,可以在我的github中可以下载。主要的逻辑逻辑在 netbian.js 中。

以彼岸桌面( 分析URL

不难发现:

首页: 栏目/index.htm

分页: 栏目/index_具体页码.htm

知道这个规律,就可以批量下载壁纸了。

2. 分析壁纸缩略图,找到对应壁纸的大图

使用chrome的开发者工具,可以发现,缩略图列表在 class="list"的div里,a标签的href属性的值就是单张壁纸所在的页面。

使用nodejs下载风景壁纸(nodejs怎么下载其他版本)

部分代码:

3. 以“ 以“ 栏目+页码 的形式保存。

附上完整的图片下载的代码:

特别需要注意的两点:

1. “彼岸桌面”网页的编码是“GBK”的。而nodejs本身只支持“UTF-8”编码。这里我们引入“superagent-charset”模块,用于处理“GBK”的编码。

附上github里的一个例子

nodejs是异步的,同一时间发送大量的请求,有可能被服务器认为是恶意请求而拒绝。 因此这里引入“async”模块,用于并发的处理,使用的方法是:mapLimit。

mapLimit(arr, limit, iterator, callback)

这个方法有4个参数:

第1个参数是数组。

第2个参数是并发请求的数量。

第3个参数是迭代器,通常是一个函数。

第4个参数是并发执行后的回调。

这个方法的作用是将arr中的每个元素同时并发limit次拿给iterator去执行,执行结果传给最后的callback。

后话

至此,便完成了图片的下载。

完整的代码,已经放在github上

本文链接地址:https://www.jiuchutong.com/biancheng/376358.html 转载请保留说明!

上一篇:nodeJs链接Mysql做增删改查的简单操作(nodejs操作mysql)

下一篇:Node连接mysql数据库方法介绍(node 连接sqlserver)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络