1. 程式人生 > >Java實現的有道雲筆記圖片批量下載工具

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的原創文章,請關注公眾號"汪子熙":