[nodejs] 爬虫加入并发限制并发实现痞客邦网页截图

今晚想给偶像的相册截个图,避免某一天网站挂了我想看看回忆都不行,用的是js的木偶师来爬虫台湾的部落格,效果图大概是这样,很不错

问题来了.我很贪心, 我想一次性把相册全爬了,也就是并发 ,这个人的相册有19个!!我一下子要开19个谷歌浏览器那个什么进程, 然后程序就崩了, 我就想能不能加入个限制? 每次只爬3个,3个完之后再继续.

ok,思路是这样:

1.假如有一个数组9个url(模拟9个相册的url),我按并发数切割,假如并发数是3

2.得到数据结构如下

3.然后循环这个数组, 再循环里面的小数组并添加进promiseChunk数组,用await Promise.all阻塞后面的其他切割的小数组运行,同时添加进AllChunksPromise数组,用来统计所有切割小数组完成后的时间,最后再Promise.all(把第二步的数据结构扁平为一维),在后面就可以计算得到代码执行时间

得到代码如下

结果还行,就是有点慢,毕竟后台调用浏览器...我的单核服务器cpu飙到100%

最后说下cheerio和puppeteer,这两个这两天都有用,cheerio解析静态网页很快,很适合抓数据。木偶可以执行js,这就很牛了,因为他是直接打开一个浏览器运行的,就是慢,各有优缺,优缺互补最好了

源代码已经上传github:https://github.com/DoctorTan/pixnetAlbumScreenshot

相关推荐
vx_biyesheji000113 分钟前
计算机毕业设计:Python全栈图书数据挖掘与可视化看板 Django框架 爬虫 当当图书 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·数据挖掘·django·毕业设计·课程设计
B站_计算机毕业设计之家15 小时前
计算机毕业设计:Python当当网图书数据全链路处理平台 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·django·flask·pandas·课程设计
2401_8916558118 小时前
爬虫对抗:ZLibrary反爬机制实战分析的技术文章大纲
爬虫
q_354888515319 小时前
计算机毕业设计:Python当当网图书大数据分析平台 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
大数据·爬虫·python·机器学习·数据分析·django·课程设计
2401_8846621021 小时前
爬虫对抗:ZLibrary反爬机制实战分析技术文章大纲
爬虫
CDN3601 天前
爬虫对抗:ZLibrary反爬机制实战分析及360CDN解决方案可行性论证
爬虫·网络安全
进击的雷神1 天前
展位号后缀清理、详情页JS数据提取、重试机制控制、地址字段重构——美国NPE展爬虫四大技术难关攻克纪实
javascript·爬虫·python·重构
B站计算机毕业设计之家1 天前
计算机毕业设计源码:Python图书数据智能采集与可视化大屏 当当网 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·信息可视化·django·pandas·课程设计
嫂子的姐夫1 天前
042-spiderbuf第C7题
爬虫·python·逆向
ccchen8882 天前
适配帝国CMS 8.0:全新帝国CMS免登录采集发布插件
经验分享·爬虫·php·帝国cms自动采集发布插件·帝国cms8.0·帝国cms自动采集插件·帝国cms采集发布模块