什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

網絡爬蟲又稱網絡蜘蛛,是指按照某種規則在網絡上爬取所需內容的腳本程序。眾所周知,每個網頁通常包含其他網頁的入口,網絡爬蟲則通過一個網址依次進入其他網址獲取所需內容。如何從零開始編寫一個爬蟲呢?下面和千鋒廣州小編一起來看看吧!

優先申明:我們使用的python編譯環境為PyCharm

一、首先一個網絡爬蟲的組成結構:

爬蟲調度程序(程序的入口,用於啟動整個程序)

url管理器(用於管理未爬取得url及已經爬取過的url)

網頁下載器(用於下載網頁內容用於分析)

網頁解析器(用於解析下載的網頁,獲取新的url和所需內容)

網頁輸出器(用於把獲取到的內容以文件的形式輸出)

二、編寫網絡爬蟲

(1)準備所需庫

我們需要準備一款名為BeautifulSoup(網頁解析)的開源庫,用於對下載的網頁進行解析,我們是用的是PyCharm編譯環境所以可以直接下載該開源庫。

步驟如下:

選擇File->Settings

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

打開Project:PythonProject下的Project interpreter

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

點擊加號添加新的庫

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

輸入bs4選擇bs4點擊Install Packge進行下載

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

(2)編寫爬蟲調度程序

這裡的bike_spider是項目名稱引入的四個類分別對應下面的四段代碼url管理器,url下載器,url解析器,url輸出器。

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

(3)編寫url管理器

我們把已經爬取過的url和未爬取的url分開存放以便我們不會重複爬取某些已經爬取過的網頁。

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

(4)編寫網頁下載器

通過網絡請求來下載頁面

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

(5)編寫網頁解析器

對網頁進行解析時我們需要知道我們要查詢的內容都有哪些特徵,我們可以打開一個網頁點擊右鍵審查元素來了解我們所查內容的共同之處。

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

(6)編寫網頁輸出器

輸出的格式有很多種,我們選擇以html的形式輸出,這樣我們可以的到一個html頁面。

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

什麼是網絡爬蟲?如何從零開始編寫一個爬蟲?

寫在末尾

注意:網頁經常發生變化,我們需要根據網頁的變化動態修改我們的代碼來獲得我們所需要的內容。

這只是一個簡單的網絡爬蟲,如果需要完善其功能我們需要考慮更多問題。


分享到:


相關文章: