位置: 编程技术 - 正文
推荐整理分享使用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属性的值就是单张壁纸所在的页面。
部分代码:
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上
标签: nodejs怎么下载其他版本
本文链接地址:https://www.jiuchutong.com/biancheng/376358.html 转载请保留说明!友情链接: 武汉网站建设