不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

這次主要講解的是如何用網絡爬蟲軟件自動下載網頁上的文件,打個比方,我們打算把這個法規/標準網站上的pdf格式的法規文件下載下來:

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

如果人工下載這些文件的話,需要在這個網頁上逐個點擊那些文件圖標,即可激發下載過程。

如果你想學python編程可以私信小編“01”獲取素材資料與開發工具和聽課權限!

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

下面將詳細講解定義規則和抓取過程。

1. 定義抓取規則

這是一種快捷的標註規則定義方法,但是並沒有精確地定位HTML DOM節點,比如,在英文附件那個圖標上做內容標註,會自動定位到DOM的IMG節點。為了下載pdf文件,定位到這個IMG節點是不精確的,這種內容標註主要用於採集文本內容。

為了精確地把pdf文件的url網址抓取下來,應該精確地做內容映射,如下圖:

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

步驟如下:

  1. 在文件圖標上通過雙擊做內容標註,並且命名抓取內容為“英文附件鏈接”
  2. 觀察窗口下部的DOM樹,看到自動定位到了IMG,而我們需要這個圖標對應的url,用以下載文件。通過觀察DOM樹,可以確定url存於IMG的父節點A中的屬性節點@href中。
  3. 選中@href節點,用鼠標右鍵菜單 內容映射->英文附件鏈接,就可把@href映射給英文附件鏈接這個抓取內容。做了映射以後,就能看到工作臺上的這個抓取內容的定位編號變化了。

上述過程就是普通的定義抓取規則過程,下面將是跟下載文件有關的設置過程。

2. 設置下載

如下圖,選擇“下載內容”,就能彈出設置窗口,勾選“下載文件”就表示從抓取到的url網址下載文件。下面的截圖中還勾選了高級設置的“補全內容”選項,這個跟下載內容無關,目的是在生成的結果文件中顯示網址的網址,因為從上一個截圖看,@href裡面存的是相對網址,不是從http開頭的。

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

這些設置完成以後,點擊存規則,然後再點擊爬數據,就能彈出一個DS打數機窗口,可以觀察到網頁被加載上來,採集完成後變成了白屏。

3. 查看下載的文件

如下圖,本案例用的主題名是test_download_file_fuller,結果文件都放在DataScraperWorks文件夾中,test_download_file_fuller是一個子文件夾,用於存儲XML格式的結果文件,還可以看到一個並列的子文件夾PageFileDir,用於存儲所有的下載文件

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

在PageFileDir中,所有的下載文件都放在一起,不分主題名,而是分在PageFileDir中的子文件夾中,子文件夾的名字具有這樣的結構

線索號_時間戳

我們再打開XML格式的結果文件看一下內容結構,如下圖:

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

“英文附件鏈接”是用戶定義的抓取內容,而“英文附件鏈接_file”是自動生成的抓取內容,文件在硬盤上存儲在哪裡,就用這個字段進行說明。

下載文件不分主題存放有個好處:如果要寫一個文件處理程序,那麼這個處理成就不需要逐個進入每個主題名文件夾去查看有沒有新下載的文件。

相反,如果下載的文件按主題名分開存放的,處理程序要逐個檢查主題名文件夾,但是有個好處:文件系統看起來比較有結構。

下面講解怎樣設置成按主題名分開存放。

4. 分主題存放

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

如圖所示,在DS打數機上選擇菜單 文件->存儲路徑,在彈出框中選擇“分主題存放”,改成分主題存放以後,再執行爬數據,就能看到PageFileDir文件夾放在了主題名文件夾下面

不用寫代碼,3天學會網絡爬蟲技術,零基礎小白也能用數據開掛

5. 總結

不光文件下載,還有圖片和視頻下載的過程都是一致的,結果存儲結構也是一致的,本教程的方法可以推及到圖片和視頻的下載。

聲明:本文於網絡整理,著作權歸原作者所有,如有侵權,請聯繫小編刪除。


分享到:


相關文章: