Python爬蟲:手把手教你寫迷你爬蟲架構

吃著東西不想停發表於2020-07-10

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

作者:我愛學Python

Python爬蟲:手把手教你寫迷你爬蟲架構

 

語言&環境

語言:繼續用Python開路!

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

一個迷你框架

下面以比較典型的通用爬蟲為例,分析其工程要點,設計並實現一個迷你框架。架構圖如下:

Python爬蟲:手把手教你寫迷你爬蟲架構

 

程式碼結構:

Python爬蟲:手把手教你寫迷你爬蟲架構

 

  • config_load.py 配置檔案載入
  • crawl_thread.py 爬取執行緒
  • mini_spider.py 主執行緒
  • spider.conf 配置檔案
  • url_table.py url佇列、url表
  • urls.txt 種子url集合
  • webpage_parse.py 網頁分析
  • webpage_save.py 網頁儲存
  • 看看配置檔案裡有什麼內容:
  • spider.conf
Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Step 3. 記錄哪些網頁已經下載過的小本本——URL表。

在網際網路上,一個網頁可能被多個網頁中的超連結所指向。這樣在遍歷網際網路這張圖的時候,這個網頁可能被多次訪問到。為了防止一個網頁被下載和解析多次,需要一個URL表記錄哪些網頁已經下載過。再遇到這個網頁的時候,我們就可以跳過它。

crawl_thread.py

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Python爬蟲:手把手教你寫迷你爬蟲架構

 

Step 5. 頁面分析模組

從網頁中解析出URLs或者其他有用的資料。這個是上期重點介紹的,可以參考之前的程式碼。

Step 6. 頁面儲存模組

儲存頁面的模組,目前將檔案儲存為檔案,以後可以擴充套件出多種儲存方式,如mysql,mongodb,hbase等等。

webpage_save.py

Python爬蟲:手把手教你寫迷你爬蟲架構

 

寫到這裡,整個框架已經清晰的呈現在大家眼前了,千萬不要小看它,不管多麼複雜的框架都是在這些基本要素上擴充套件出來的。

相關文章