Java實現的有道雲筆記圖片批量下載工具
阿新 • • 發佈:2018-12-13
有朋友問我每天哪裡找時間寫這麼多文章。
作為一個程式設計師,當然要善於利用各種工具提高自己做事情的效率了。如果沒有現成的工具,就得自己造。
我寫文章一般是在雲筆記裡編輯,完成之後直接複製貼上到自媒體平臺。我有一個需求,能夠把雲筆記裡包含的所有圖片批量下載到本地某個資料夾裡,這樣我就可以批量上傳檔案到自媒體平臺,省去了手工一張張上傳的麻煩。
我曾經寫過一篇文章:使用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的原創文章,請關注公眾號"汪子熙":