[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

相关推荐
深蓝电商API1 天前
LLM正在改变爬虫:Crawl4AI源码深度解析
爬虫·crawl4ai
Chengbei113 天前
JsOwl|AI 赋能 JS 敏感信息扫描器,AST + 正则、source‑map 源码还原、登录态爬虫输出交互式 HTML 报告
开发语言·javascript·网络·人工智能·爬虫·网络安全·自动化
远航计算机3 天前
AI 答案里的链接,为什么开始分等级了?
大数据·人工智能·爬虫·aigc
Novproxy_Z3 天前
爬虫任务被拦截:区分 IP 封禁、设备封禁、账号封禁
爬虫·网络协议·tcp/ip
郝学胜-神的一滴3 天前
Python浏览器自动化:Selenium与Playwright实战对比,网页爬虫&自动操作一站式指南
开发语言·爬虫·python·selenium·程序人生·自动化
Python大数据分析@3 天前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
深蓝电商API4 天前
Docker+K8s部署爬虫:从单机到集群的完整路线
爬虫·docker·k8s
深蓝电商API4 天前
亿级数据的存储选型:MongoDB/ES/ClickHouse横评
爬虫·clickhouse·mongodb·elasticsearch
重生之高冷汉堡包4 天前
YouTube 数据抓取出现 429/403 错误?2026 反爬机制拆解与爬虫选型指南
爬虫
钱栈up5 天前
扫完 3.5 万文件后,我发现了 521 组散落的同名文件
爬虫·python·数据分析