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

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

做爲一個程序員,固然要善於利用各類工具提升本身作事情的效率了。若是沒有現成的工具,就得本身造。git

我寫文章通常是在雲筆記裏編輯,完成以後直接複製粘貼到自媒體平臺。我有一個需求,可以把雲筆記裏包含的全部圖片批量下載到本地某個文件夾裏,這樣我就能夠批量上傳文件到自媒體平臺,省去了手工一張張上傳的麻煩。程序員

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

使用方式很簡單。多線程

咱們知道每篇有道雲筆記都有一個獨一無二的uuid做爲標識。把這個uuid複製粘貼,工具

把拷貝的值放到第82行main行數的guid變量裏,直接執行,能夠看到輸出,首先個人代碼會判斷這個筆記包含了多少張圖片,而後會以多線程的方式去並行下載圖片。ui

最後全部下載好的圖片都存儲在一個和筆記同名的文件夾下面:線程

多線程下載的核心代碼以下,我使用了JDK裏提供的ExecutorService:code

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上,請隨意下載使用:blog

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

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

相關文章
相關標籤/搜索