TODO-5:爬取图片整理

本文介绍了一个使用Node.js编写的简易漫画爬虫工具,该工具可以爬取指定漫画的所有章节,包括图片,并能检查更新及爬取进度。文中详细记录了从初始代码到最终工具化的全过程。

原文链接

TODO-4:nodejs 实现一部漫画爬取
这篇文章写完之后,被[猪头]看到,居然劈头盖脸一顿说:

为什么这么烂的代码也敢粘出来?
为什么主要逻辑已经实现了,还不把东西抽离出来,做一个成品出来?
为什么不工具化?
……

哪那么多为什么!

人家只是想说一下写爬虫的时候需要的几个基本工具的用法不行吗?
我代码这么烂,你就不会跟我说,帮我优化一下吗?
我辛辛苦苦码出来的东西,不知道安慰,就知道说不是!

所以今天为了家庭和睦,于是出了抓取漫画工具1.0 ;)

github 地址

V1.0比较粗糙,主要支持:
1:默认爬取整部漫画(目前只支持《镇魂街》)
2:查询上次爬取进度
3:查询漫画更新进度

默认爬取整部漫画(目前只支持《镇魂街》)

参数:anything
log文件名:name.json

bash-3.2$ node --harmony app anything 镇魂街.json
------------总共 180 章节--------------
打log 记录章节列表已成功抓取
write  镇魂街.json ok
打log 记录章节对应的图片链接已成功抓取
write  镇魂街.json ok
打log 记录章节对应的图片已成功抓取
write  镇魂街.json ok
write img: imgfile2/174 一百六十五 天佑/1.jpg
waiting
打log 记录章节对应的图片已成功抓取
write  镇魂街.json ok
write img: imgfile2/174 一百六十五 天佑/2.jpg
waiting
打log 记录章节对应的图片已成功抓取
write  镇魂街.json ok
write img: imgfile2/174 一百六十五 天佑/3.jpg
waiting
打log 记录章节对应的图片已成功抓取
write  镇魂街.json ok
write img: imgfile2/174 一百六十五 天佑/4.jpg
waiting

为了不让被爬网站‘起疑’,除了做了一些request header的处理之外,在抓取频率上做了一点手脚,
做了一个随机秒数的延时,主要为了更近似的模拟人的行为

return new Promise((res, rej) => {
  setTimeout(res, 2000 + Math.random())
});

查询上次爬取进度

参数:getLastStatus|gls
log文件名:镇魂街.json

bash-3.2$ node --harmony app gls 镇魂街.json
[ 0, 4 ]

查询漫画更新进度

参数: checkUpdate
log文件名:镇魂街.json

bash-3.2$ node --harmony app checkUpdate 镇魂街.json
上次抓取位置: [ 0, 5 ] 
本地进度: 173 一百六十四 铁牢 
抓取进度: 174 一百六十五 天佑

以上是我目前粗略地实现的三个小功能,不过目前因为解析html的代码不好通过参数赋值,还没想到能够定制爬虫的好办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值