Java实现的有道云笔记图片批量下载工具_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java实现的有道云笔记图片批量下载工具

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

 2019/1/10 12:32:41  JerryWang_SAP  程序员俱乐部  我要评论(0)
  • 摘要:有朋友问我每天哪里找时间写这么多文章。作为一个程序员,当然要善于利用各种工具提高自己做事情的效率了。如果没有现成的工具,就得自己造。我写文章一般是在云笔记里编辑,完成之后直接复制粘贴到自媒体平台。我有一个需求,能够把云笔记里包含的所有图片批量下载到本地某个文件夹里,这样我就可以批量上传文件到自媒体平台,省去了手工一张张上传的麻烦。我曾经写过一篇文章:使用ABAP批量下载有道云笔记中的图片,然而ABAP在程序员中间不是很普及,于是我又写了一个Java版本的。使用方式很简单
  • 标签:笔记 实现 图片 工具 Java 下载

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

? ?

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

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

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

使用方式很简单。

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

?

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

?

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

?

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

class="hljs java">monospace; font-size: 13px; color: inherit; background-color: transparent; border-radius: 0px; padding: 0px; border: none; vertical-align: middle;">function" style="">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的原创文章,请关注公众号"汪子熙":

?
上一篇: Spring Cloud 从入门到精通 下一篇: 没有下一篇了!
发表评论
用户名: 匿名