Search Google

Tuesday, February 19, 2008

Python + PyWin32 + WMI + wget

花了兩天的時間研究batch download終於有點成果,短期目標是達到類似幹圖王的功能,因此目標當然也是傳說中的丁丁大站,這次的實驗以Python為主,另外包含PyWin32 & WMI modules並加上好用的檔案下載工具wget
運作流程從parse html頁面開始,parse三層後便可得到相片的真實連結,接著便透過win32api呼叫wget進行下載,用win32api呼叫wget原因是為了將視窗設定為隱藏,同時以最簡單的方式達到multithread download,初步成果看起來還頗不錯的。至於要下載要multithread到什麼程度可能還需要再仔細琢磨,如果每一個檔案都佔用一個thread的話thread數可能會不夠用@@,或許一個帳號用一個thread是不錯的選擇,然後將同帳號下的照片都queue起來慢慢下載。
以下是這兩天寫的testing code,離成品還有一段距離(eg.尚無法處理需要帳號的相簿,以及許多coding的細節),但是還是可以當作範例參考:
grab_n_view_sample.py

1 comment:

Anonymous said...

善!