`
JerryWang_SAP
  • 浏览: 1043548 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Java实现的有道云笔记图片批量下载工具

阅读更多

有朋友问我每天哪里找时间写这么多文章。

 
 

作为一个程序员,当然要善于利用各种工具提高自己做事情的效率了。如果没有现成的工具,就得自己造。

我写文章一般是在云笔记里编辑,完成之后直接复制粘贴到自媒体平台。我有一个需求,能够把云笔记里包含的所有图片批量下载到本地某个文件夹里,这样我就可以批量上传文件到自媒体平台,省去了手工一张张上传的麻烦。

我曾经写过一篇文章:使用ABAP批量下载有道云笔记中的图片,然而ABAP在程序员中间不是很普及,于是我又写了一个Java版本的。

使用方式很简单。

我们知道每篇有道云笔记都有一个独一无二的uuid作为标识。把这个uuid复制粘贴,

 

把拷贝的值放到第82行main行数的guid变量里,直接执行,可以看到输出,首先我的代码会判断这个笔记包含了多少张图片,然后会以多线程的方式去并行下载图片。

 

最后所有下载好的图片都存储在一个和笔记同名的文件夹下面:

 

多线程下载的核心代码如下,我使用了JDK里提供的ExecutorService:

private static void start(List<DownloadTask> task){
        if( task.isEmpty()){
            System.out.println("No picture to download!");
            return;
        }
        System.out.println("Total pic to be downloaded: " + task.size());
        ExecutorService executor = Executors.newFixedThreadPool(10);
        
        for( int i = 0; i < task.size(); i++){
            PictureDownloader cc = new PictureDownloader(task.get(i));
            executor.execute(cc);           
        }
        
        executor.shutdown();
        while (!executor.isTerminated()) {
        }
        
        System.out.println("download finished");
    }
 

完整代码在我的github上,请随意下载使用:

https://github.com/i042416/JavaTwoPlusTwoEquals5/tree/master/src/youdao

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

    教你如何将java代码拷贝到有道云笔记

    - 有道云笔记的其他功能:有道云笔记除了基本的笔记功能外,还支持插入图片、附件、语音笔记等多媒体功能,甚至可以进行团队协作、文档共享等,大大拓展了笔记的用途。 - MyEclipse的代码美化:MyEclipse本身也提供...

    有道云笔记内容下载java版,有道云笔记备份到本地

    标题 "有道云笔记内容下载java版,有道云笔记备份到本地" 指的是一项使用Java编程语言实现的功能,旨在将用户在有道云笔记中的内容下载并备份到本地计算机。这个功能的主要目标是确保用户的数据安全,防止因网络问题...

    java记事本(仿有道云笔记)

    这个项目是一个基于Java编程语言实现的记事本软件,其设计灵感来源于知名的在线笔记应用——有道云笔记。与传统的Windows记事本相比,它提供了更为丰富和现代的功能,旨在提供一个类似于云笔记的用户体验。这种定制...

    java实现HTML解析图片批量下载

    为了提高效率,你可以考虑使用多线程下载图片,或者使用异步I/O,如Java NIO2的`AsynchronousFileChannel`。这将使得程序在等待网络响应时可以执行其他任务,提高整体性能。 最后,你可能会想要添加一些额外的功能...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记...

    JAVA批量下载图片

    本项目标题为“JAVA批量下载图片”,这显然涉及到使用Java进行网络爬虫技术来实现图片的批量抓取与下载。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的网络请求库,如HttpURLConnection、Apache ...

    java批量下载图片

    ### Java批量下载图片:封装实现 #### 1. **程序结构与布局** - 程序使用`JFrame`作为主窗口,通过`JPanel`进行布局管理。 - 使用了`BorderLayout`和`GridLayout`布局管理器来组织界面元素。 - 包含多个文本框...

    java多附件上传、批量下载

    支持多文件上传、单个/批量附件下载,代码注释详细

    Java实现从excel中批量导入数据到数据库

    Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行

    基于SSM框架搭建的云笔记系统(仿有道云笔记)源码.zip

    别再对比了,资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,能够满足使用、学习需求,如果有需要的话可以放心下载使用。有...

    java 打印pdf文件 也可批量打印

    ### Java打印PDF文件及批量打印实现 #### 一、引言 在企业级应用开发中,经常需要处理各种文档操作,其中包括PDF文件的打印。Java作为一种广泛应用的企业级开发语言,提供了多种方式来实现这一功能。本文将详细...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码+项目说明(高分项目).zip

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码+项目说明(高分项目).zip该项目是个人毕设项目源码,评审分达到97分,都经过严格调试,确保可以运行!放心下载使用。该项目资源主要针对计算机相关专业的...

    Java中Excel转图片工具包(纯java)

    "Java中Excel转图片工具包(纯java)"就是这样一个解决方案,它实现了将Excel文件通过PDF中间格式转化为图片的功能。 首先,让我们了解一下这个工具包的工作原理。Excel文件本身并不直接支持转换为图片格式,但可以...

    java实现批量excel转csv

    java实现批量excel转csv,其中csv文件为utf-8格式,支持直接导入数据库。

    Java项目基于SSM+MySQL搭建的云笔记系统(仿有道云笔记)源码+数据库+项目说明-期末大作业.rar

    本项目为Java项目,基于SSM(Spring+Spring MVC+MyBatis)框架和MySQL数据库搭建的云笔记系统,旨在提供一个仿有道云笔记的在线笔记管理功能。项目涵盖了前端页面设计、后端逻辑处理、数据库设计与实现等多个方面,...

    Android批量下载图片并缓存,非常流畅

    本教程将详细讲解如何在Android应用中实现批量下载图片并进行高效缓存,以实现非常流畅的用户体验。我们将主要关注LruCache技术,这是一种内存管理策略,有助于优化内存使用。 首先,我们需要理解Android中的图片...

    详解Java实现批量压缩图片裁剪压缩多种尺寸缩略图一键批量上传图片

    4. Java实现批量压缩图片裁剪压缩多种尺寸缩略图一键批量上传图片需要封装一个文件流操作的工具类,例如FileUtils类,可以用于读取本地物理磁盘目录里的所有文件资源到程序内存,并将File文件流转为Base64的字符串流...

    Java实现ocr图片识别(PaddleOCR)飞桨

    通过以上步骤,我们可以成功地在Java SpringBoot应用中集成PaddleOCR,实现高效、便捷的OCR图片识别服务。这种集成方式不仅充分利用了PaddleOCR的强大功能,也发挥了Java在后端服务上的稳定性和易用性,为开发者提供...

    java实现批量下载 多文件打包成zip格式下载

    在Java编程中,批量下载和将多个文件打包成ZIP格式是一项常见的需求,特别是在处理大量数据或文件时。这里,我们看到一个示例展示了如何在Java中实现这一功能。首先,让我们详细了解一下涉及到的关键知识点。 1. **...

Global site tag (gtag.js) - Google Analytics