雖然我以前經(jīng)常寫(xiě)爬蟲(chóng),但畢竟是代碼活,復(fù)用性非常低,每次得耗十幾分鐘解析網(wǎng)頁(yè)并且寫(xiě)好代碼。而熟悉linux的朋友都應(yīng)該了解wget這個(gè)神器,有了url之后一行命令即可完成下載。 但真實(shí)的需求往往是,需要下載某個(gè)ftp服務(wù)器里面的多個(gè)文件,甚至該ftp服務(wù)器需要用戶名和密碼登錄,比如公司給你提供的測(cè)序數(shù)據(jù)結(jié)果: Host: sftp.biotrainee.com.cn or 123.123.123.123
Username: 80-78395743
Password: 8L5973452TJ0t4tQM
Port: 22
誠(chéng)然,我們可以用winscp或者filezilla等客戶端軟件下載,但是更多時(shí)候我們的數(shù)據(jù)量非常大,需要直接在服務(wù)器用命令行工具下載。 這個(gè)時(shí)候,就需要學(xué)習(xí)wget的高級(jí)技巧了。 比如之前衛(wèi)計(jì)委搞了一個(gè)全國(guó)范圍的基因檢測(cè)實(shí)驗(yàn)室考察活動(dòng),放出的測(cè)試數(shù)據(jù)就是這樣下載的: wget -c -r -np -k -L -p --ftp-user=NCCLBIPT --ftp-password=nccl123456 ftp://211.103.138.229/Illumina_file/Illumina_B17NC/*
再比如http服務(wù)器:斯坦福大學(xué)的生物信息學(xué)算法課程里面推薦閱讀的的所有pdf格式的paper 課程的網(wǎng)址是:http://ai./~serafim/CS374_2011/ 可以看到,這個(gè)網(wǎng)站推薦的文獻(xiàn)分成8大類,本身這個(gè)網(wǎng)站打開(kāi)就需要登錄用戶名和密碼: 用戶名是CS374-2011加上密碼AlgorithmsInBiology 每一篇文獻(xiàn)的單獨(dú)地址是http://ai./~serafim/CS3742011/papers/Miscellaneoustopics/Self-assemblyofDNA/selfhealingand_proofreading.pdf 類似的格式。 wget -c -r -np -k -L -p -A.pdf --http-user=CS374-2011 --http-passwd=AlgorithmsInBiology http://ai./~serafim/CS374_2011/papers/
我這里簡(jiǎn)單解釋一下這些參數(shù)的意思: -c -r -np -k -L -p -A.pdf -c 斷點(diǎn)續(xù)傳
-r 遞歸下載,下載指定網(wǎng)頁(yè)某一目錄下(包括子目錄)的所有文件
-nd 遞歸下載時(shí)不創(chuàng)建一層一層的目錄,把所有的文件下載到當(dāng)前目錄(特殊要求會(huì)選擇這個(gè)參數(shù))
-np 遞歸下載時(shí)不搜索上層目錄,如wget -c -r www.xxx.org/pub/path/
沒(méi)有加參數(shù)-np,就會(huì)同時(shí)下載path的上一級(jí)目錄pub下的其它文件 (所以一定要加上這個(gè)參數(shù),不然會(huì)下載太多東西的)
-k 將絕對(duì)鏈接轉(zhuǎn)為相對(duì)鏈接,下載整個(gè)站點(diǎn)后脫機(jī)瀏覽網(wǎng)頁(yè),最好加上這個(gè)參數(shù)
-L 遞歸時(shí)不進(jìn)入其它主機(jī),如wget -c -r www.xxx.org/
-p 下載網(wǎng)頁(yè)所需的所有文件,如圖片等
-A 指定要下載的文件樣式列表,多個(gè)樣式用逗號(hào)分隔
|