Java實現的有道雲筆記圖片批量下載工具

i042416發表於2018-12-09

有朋友問我每天哪裡找時間寫這麼多文章。

Java實現的有道雲筆記圖片批量下載工具

Java實現的有道雲筆記圖片批量下載工具

作為一個程式設計師,當然要善於利用各種工具提高自己做事情的效率了。如果沒有現成的工具,就得自己造。

我寫文章一般是在雲筆記裡編輯,完成之後直接複製貼上到自媒體平臺。我有一個需求,能夠把雲筆記裡包含的所有圖片批量下載到本地某個資料夾裡,這樣我就可以批量上傳檔案到自媒體平臺,省去了手工一張張上傳的麻煩。

我曾經寫過一篇文章:使用ABAP批量下載有道雲筆記中的圖片,然而ABAP在程式設計師中間不是很普及,於是我又寫了一個Java版本的。

使用方式很簡單。

我們知道每篇有道雲筆記都有一個獨一無二的uuid作為標識。把這個uuid複製貼上,

Java實現的有道雲筆記圖片批量下載工具

把拷貝的值放到第82行main行數的guid變數裡,直接執行,可以看到輸出,首先我的程式碼會判斷這個筆記包含了多少張圖片,然後會以多執行緒的方式去並行下載圖片。

Java實現的有道雲筆記圖片批量下載工具

最後所有下載好的圖片都儲存在一個和筆記同名的資料夾下面:

Java實現的有道雲筆記圖片批量下載工具

多執行緒下載的核心程式碼如下,我使用了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");
    }

Java實現的有道雲筆記圖片批量下載工具

完整程式碼在我的github上,請隨意下載使用:

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

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

Java實現的有道雲筆記圖片批量下載工具


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2284645/,如需轉載,請註明出處,否則將追究法律責任。

相關文章