Js抓取花瓣、堆糖图片

 开发  js  油猴脚本  用户脚本  花瓣  堆糖   2019-10-14 14:40 

序:

花瓣版本:v1.2.1

堆糖版本:v1.1.0

名称:花瓣网下载,堆糖网下载 - 油猴脚本

描述:Js批量下载花瓣网及堆糖网图片

功能:脚本说明文档以及问题帮助。

Bug反馈请在底部评论、QQ、Wechat、Email

公告区:

    2018-09-11:由于服务器磁盘空间较小,即日起,使用远端下载图片超过1w张的部分将不会下载。

    2019-01-23:2019年花瓣网升级(至02-15),通过会员服务实名认证登录的用户无法看到下载按钮,是因为花瓣网临时域名改变,脚本不支持,现已修复,请更新至版本v0.5.11+。

    2019-01-24:由于服务器配置较低,访问量突然增加导致负载异常,现暂时关闭远程下载服务,并在夜间23点短暂关闭open.saintic.com服务,升级后开启。

    2019-01-25增加彩蛋,可以通过微信公众号(文章右上角)发送“@远程下载地址”查询最新进度。

    2019-01-25由于服务器磁盘空间较小,远程下载的压缩包从保留24h改为12h,敬请谅解。

    2019-02-12抓取图片数量限制由1w张改为2w张。

    2019-02-15说声抱歉!由于程序中一点小bug,在2019-02-15 16:28:02时全部删除了12h内的压缩文件,所以在今天04:30-16:28之间的压缩文件下载会出现404 NOT FOUND错误,我表示抱歉!现已修复,如有需要烦请重新下载。

    2019-02-21欢迎接入花瓣&堆糖远程下载服务,为用户提供公共下载功能,了解点我

    2019-03-07接入远程下载支持专属了!详细了解可点击上一条公告的“点我”。

    2019-03-09重要bug修复,解决了帮助区问题9

壹、文档

一、安装

    1. 安装Tampermonkey扩展,不同浏览器的支持,参见官网:http://tampermonkey.net/

    2. 进入用户脚本源,点击进入"花瓣网下载"点击进入"堆糖网下载",安装相应版本即可,完成后,Tampermonkey管理面板将会有此脚本。

二、解析

    花瓣网,直接获取画板页面中board_id,使用ajax访问首页及加载后续页即可获取所有json数据,拼接imgUrl通过不同下载方式保存图片。

    堆糖网,获取专辑id,同上,使用ajax请求接口获取数据。

贰、帮助 以下问答小括号表示版本号,默认第一版;中括号表示此问题来源于用户反馈。

花瓣网下载帮助区

1、为什么我看不见"下载此画板"或"下载此用户"按钮?(v0.3已修复)

    答:请查看浏览器网址,是否在"huaban.com/boards/"或用户个人主页下,如果从花瓣网其他地址跳到画板页及个人主页,请刷新,确保Tampermonkey图标上提示运行了"花瓣网下载"的脚本,如果还不行,请反馈问题。

           v0.3中,监听了URL地址变化,以自动刷新一次页面的方式解决此问题,此前提是当前页面中运行着脚本,点击到后面的页面(比如跳转到画板)才会刷新一次。

2、为什么没有下载完所有图片?

    答:未登录用户被系统限制只能查看少数几张图片;登录用户可以查看所有图片,抓取率目前来看,是存在抓取不完的情况,此问题深入研究中,请谅解。

3、为什么推荐"文本"方式下载,怎么用?

    答:首推文本方式下载是因为它,一来避免了浏览器直接批量保存图片的问题(参见4);二来远程方式使用的第三方服务是本站,节省点资源;最重要的是,使用迅雷新建任务,直接粘贴即可,文本复制时已经是每图一行,迅雷会自动下载并保持图片名及后缀,并可使用任务组功能独立出目录。

4、怎么使用"本地"方式下载?

    答:首先在浏览器(以Chrome为例)设置中将“下载前询问每个文件的保存位置”取消勾选(不同浏览器文字可能不同),即不询问,这样实现伪自动,图片将保存到下载内容的"位置"配置的目录中。另外,浏览器可能会再提示“下载多个文件”的授权申请,请允许。

5、怎么使用"远程"方式下载?打开下载链接提示"404 Not Found File"?

    答:使用"远程"方式会提交给第三方(本站)任务,根据画板图片的数量决定所需时间,请稍等数分钟后访问下载链接,若访问时提示"Not Found File"则说明尚未下载完成或已经过期删除(选择远程下载12h后才会过期删除),请注意。另外,您可以点击"我已知晓并复制下载链接",会自动复制链接,粘贴到迅雷、浏览器等下载即可;也可以点击弹窗内链接直接使用浏览器下载。

6、为什么下载用户画板时只显示一个弹窗?(v0.2)

    答:当用户存在多个画板时,后续弹窗会置顶,您需要移动当前可视弹窗即可看到其他弹窗。

7、用户画板下载不全?(v0.2)

    答:当用户画板较多时,可能会出现遗漏,同下载画板内图片,此问题也在研究中,请谅解。

8、[下载的图片不是原尺寸?](v0.5.2)

    答:根据用户反馈发现下载的图片不是原图尺寸,在v0.5.2中已经修改为获取原图。

9、[启用"花瓣网下载"脚本后无法新建画板?移动端导航无法展开?Pin图片无法关闭?](v1.0.2)

    答:根据用户反馈发现问题,目前暂时没解决,欢迎提pr;如遇此问题,请临时禁用脚本。由于jQuery的原因,前端$冲突,正在处理。

        此问题已于v1.0.2修复,请升级到此版本!

10、[文本下载没有图片后缀?]

    答:使用迅雷等下载工具时一般可识别后缀,由于花瓣网系统原因,不能修复此问题,您可以手动更改后缀为jpg。

11、没有收到提醒邮件?

    答:在下载完成后会发送提醒邮件,但服务器发送邮件功能故障时会发送失败,或者用户邮箱填写有误(比如域)导致发送失败。

12、远程下载不全?远程下载失败?远程下载未收到提醒?

    答:将下载提交给远程后,会由异步任务处理下载,当然,由于服务器、程序方面等问题,可能偶有异常,目前发现的问题有:

        > 提交图片数量仅数千,但没收到下载提醒。其原因可能是每张图片都不小(下载的是原图),所有图片下载中途,服务器磁盘慢了,任务便异常,下载不完整,也就没有提醒。

        > 提交图片数量过多,目前限制2w张,加上图片尺寸,超过了1h,导致下载超时,任务也会异常。

        > 处理下载任务的进程挂掉,任务不处理,自然无法下载。

        等等……

        目前程序尽可能完善提示,异常时会中止后续下载,但任然完成压缩、提醒等,您会收到提醒,也可以下载压缩包,内含README.txt文件,即异常说明。

        比如:下载提交了100个图片,压缩包只有80个,还有一个README.txt,其内容可能是“Disk usage is too high”。

堆糖网下载帮助区

1、移动版怎么没有"下载此专辑"按钮?

    答:脚本暂时没有支持移动版的计划,请您切换UA用桌面版访问。

彩蛋帮助区

1. 画板或专辑通过远端服务下载完成后,邮件提醒。

    答:请在画板或专辑页面URL中增加参数“email=你的提醒邮箱”,请看示例红色部分,注意?和&的使用,示例:

            比如花瓣网-"花瓣福利社"这个画板,http://huaban.com/boards/793718/?email=xxx

            比如堆糖网-"精致"这个专辑,https://www.duitang.com/album/?id=88542048&email=xxx

            花瓣网下载v0.5.8和堆糖网下载v0.1.3允许在相关页面点击按钮设置邮箱和手机号。

            在花瓣网v0.7.0+和堆糖网v0.3.0+,可以在相关页面(比如专辑页、画板页)点击“花瓣网设置”或“堆糖网设置”按钮设置邮箱、手机等,此时URL即便不填写仍可以发送提醒,而且URL提醒参数也可以设置且优先级高!

2.画板或专辑通过远端服务下载完成后,短信提醒。

    答:请在画板或专辑页面URL中增加参数“sms=你的手机号”,请看示例红色部分,注意?和&的使用,且可以与邮件提醒共用,示例:

            比如花瓣网-"花瓣福利社"这个画板,http://huaban.com/boards/793718/?sms=13800012138

            比如堆糖网-"精致"这个专辑,https://www.duitang.com/album/?id=88542048&email=xxx&sms=13800012138

            注意第一种蓝色字体,新版本可以点击按钮设置邮箱和手机。

3.画板或专辑可以通过作者微信公众号查询下载进度。

    答:关注作者公众号,以格式 “hb@远程下载地址” 或 "@远程下载地址" 发送消息,则服务端会返回查询结果。

    

4.脚本功能设置。

    答:v1.0.0正式开发设置功能,花瓣网下载脚本按钮是花瓣网设置,位置在下载按钮旁边;堆糖网下载脚本按钮是堆糖网设置,位置同样也在下载按钮旁边。

          可以设置提醒邮箱、手机号,设置密钥,清理公告等。

5.Windows下使用文本的批量下载工具。

    答:两个油猴脚本下载时,提供了文本、本地、远程三种下载方式,其中文本提供了画板或专辑内的所有图片链接,推荐使用迅雷等下载,不过部分用户反馈下载后缀有问题,最近利用Python Tkinter写了个简易的GUI程序,源码在GitHub,非常之潦草且不健壮,这里依据源码依据打包好了Windows下的exe程序,下载地址:https://satic.io/gui_batchdownload.exe

        如图示,是主界面:

        QQ截图20190505204756

PS、以上没有发现我的问题?

    答:感谢您的使用,若未解决问题,可以在评论处留言,可以扫一扫右上方QQ群二维码(点击即可加入),也可以到"GitHub Issues"提问,当然还可以通过邮箱联系我,staugur@saintic.com

叁、更新历史

花瓣网下载

  • v0.1,第一版,下载画板
  • v0.2,1.下载用户所有画板;2. 修复bug;3. 优化部分代码。
  • v0.3,修复了按钮不显示问题(比如从用户中心点击画板以及相反操作)
  • v0.4,优化部分代码
  • v0.5.1,更新用户抓取提示信息
  • v0.5.2,获取图片改为高清原图
  • v0.5.3,更改存储源同时支持http、https已修复(使用https时)本地下载异常的bug
  • v0.5.4,支持移动版批量下载
  • v0.5.5, 优化了部分代码
  • v0.5.6, 增加了彩蛋
  • v0.5.7, 忽略
  • v0.5.8, 邮箱输入提示
  • v0.5.10,更改远程服务地址
  • v0.5.11,2019年花瓣网升级期间兼容版本
  • v0.5.12,兼容修改
  • v0.6.0,公告
  • v0.6.1,增加短信提醒的彩蛋
  • v0.6.2,优化了加载图片瀑布流的方式
  • v0.7.0,设置提醒邮箱和手机且同时优先支持URL参数
  • v0.7.1,适应花瓣网备用域名huabanpro.com
  • v0.7.2,优化了本地下载和设置提醒功能
  • v1.0.0,首个正式版本
  • v1.0.1,设置授权ApiToken以使用专属Tdi;允许清空配置。
  • v1.0.2,修复bug,见帮助区问题#9
  • v1.1.0,修复bug,增加配置
  • v1.2.0,设置功能适配移动版,臭不要脸增加一项捐赠功能
  • v1.2.1,更新花瓣网存储接口又拍云域名

堆糖网下载

  • v0.1.0,第一版,批量下载专辑
  • v0.1.1, 优化了部分代码
  • v0.1.2, 增加了彩蛋
  • v0.1.3, 邮箱输入提示
  • v0.1.5,更改远程服务地址
  • v0.2.0,公告
  • v0.2.1,增加短信提醒的彩蛋
  • v0.3.0,设置提醒邮箱和手机且同时优先支持URL参数
  • v0.3.1,优化了本地下载和设置提醒功能
  • v1.0.0,首个正式版本
  • v1.0.1,设置授权ApiToken以使用专属Tdi;允许清空配置。
  • v1.1.0,bug修复,增加配置

肆、TODO

  • windows下GUI工具下载文本链接【彩蛋区第五个】
  • 弹窗显示优化(不仅提示id,需人性化显示)、下载细节优化。



点赞 打赏
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

交流分享

QQ扫一扫或点击二维码加入,群号577543189
微信扫一扫,手滑关注它
微信扫一扫,进入小程序

推荐文章

标签云集

友情链接  交换友链

推广位