現在的位置: 首頁 > 搜索技術 > 正文

Python爬蟲的流程是什麼

2020年02月14日 搜索技術 ⁄ 共 1025字 ⁄ 字型大小 評論關閉

  對於網路爬蟲技術的學習,其他教學很少有從整體結構來說的,多數是直接放出某部分代碼。這樣的方法會使初學者摸不著頭腦:就好像是盲人摸象,有人摸到的是象腿,以為是一根大柱子;有人摸到的是大象耳朵,以為是一把大蒲扇等。

  在開始第一個爬蟲之前,先從宏觀角度出發說清楚兩個問題:Python爬蟲的流程是怎樣的? 三個流程的技術實現是什麼?

  值得說明的是,本書選擇了Python 3作為開發語言,現在Python最新版為Python 3.7。熟悉Python 2的讀者可以在本書代碼的基礎上稍加改動,用Python 2運行。值得注意的是,Python 2即將在2020年1月1日停止支持,因此建議初學者直接安裝Python 3進行學習。

  由於本書的潛在讀者多數使用Windows操作系統,因此本書大部分實例都是基於Windows編寫和運行的。如果使用的是Linux和Mac OS操作系統,在搭建好Python平台之後也可以直接運行本書中的代碼。

  Python爬蟲的流程

  網路爬蟲的流程其實非常簡單,主要可以分為三部分:(1)獲取網頁;(2)解析網頁(提取數據);(3)存儲數據。

  (1)獲取網頁就是給一個網址發送請求,該網址會返回整個網頁的數據。類似於在瀏覽器中鍵入網址並按回車鍵,然後可以看到網站的整個頁面。

  (2)解析網頁就是從整個網頁的數據中提取想要的數據。類似於你在頁面中想找到產品的價格,價格就是你要提取的數據。

  (3)存儲數據也很容易理解,就是把數據存儲下來。我們可以存儲在csv中,也可以存儲在資料庫中。

  三個流程的技術實現

  下面列出三個流程的技術實現,括弧里是對應的章節。

  1.獲取網頁

  獲取網頁的基礎技術:requests、urllib和selenium(3&4)。

  獲取網頁的進階技術:多進程多線程抓取(8)、登錄抓取(12)、突破IP封禁(9)和使用伺服器抓取(12)。

  2.解析網頁

  解析網頁的基礎技術:re正則表達式、BeautifulSoup和lxml(5)。

  解析網頁的進階技術:解決中文亂碼(10)。

  3.存儲數據

  存儲數據的基礎技術:存入txt文件和存入csv文件(6)。

  存儲數據的進階技術:存入MySQL資料庫和MongoDB資料庫(6)。

  除此之外,後續還會介紹Scrapy爬蟲框架,也會介紹分散式爬蟲。

  如果對於上述技術不熟悉的讀者也不必擔心,本書將會對其中的技術進行講解,力求做到深入淺出。

抱歉!評論已關閉.