`
JerryWang_SAP
  • 浏览: 1054725 次
  • 性别: 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记事本(仿有道云笔记)

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

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

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

    JAVA批量下载图片

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

    java多附件上传、批量下载

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

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

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

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

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

    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实现ocr图片识别(PaddleOCR)飞桨

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

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

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

    java实现对图片的压缩上传

    该工具类可以实现以下几个功能 1、得到有效文件的长度(即大小),以字节表示 getFileSize(String filePath),需要传入文件路径 2、可以上传图片与非图片文件。有二个重构方法 一、无限制文件大小上传upLoad(String...

    《使用kettle批量下载文件》示例代码

    - 可以通过Kettle的监控工具(如Pan和Kitchen)以定时任务的形式运行Job,实现自动化的批量文件下载。 这个名为"batch-download-files"的压缩包文件可能包含了上述步骤中的Job和Transformation文件,供用户参考和...

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

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

    java实现提取图片文字信息并生成表格

    对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

Global site tag (gtag.js) - Google Analytics