Web Scraping(網頁抓取)基本原理 – 白話篇

本文主要介紹 Web Scraping 的基本原理,基於Python語言,大白話,面向可愛的小白(^-^)。

易混淆的名稱:

很多時候,大家會把,在網上獲取Data的程式碼,統稱為「爬蟲」,
但實際上,所謂的「爬蟲」,並不是特別準確,因為「爬蟲」也是分種的,

常見的「爬蟲」有兩種:

  1. 網路爬蟲 (Web Crawler),又稱 Spider;Spiderbot
  2. 網頁抓取 (Web Scraper),又稱 Web Harvesting;Web Data Extraction

而,這篇文章,主要講解的是第二種「爬蟲」(Web Scraper)的原理。

Web Scraping 是什麼?

簡單的說 Web Scraping,(在本文里)就是指,用Python程式碼,從肉眼可見的網頁上,抓取數據。

為什麼需要 Web Scraping?

因為,重複工作太多,自己做,可能會累死!

程式碼的適用實例有哪些?

  1. 如,需要在證交所,下來50隻不同股票的當前價格,
  2. 或者,想 print 出,新聞網站上,所有最新新聞的標題,
  3. 或者,只是想把網站上所有商品的價格列出來,放到 Excel 里對比下,
  4. 等等各種,盡可發揮你的想像力…..

Web Scraping 的基本原理:

  1. 首先,你需要了解,網頁是怎麼呈現在,我們螢幕上的;

    1. 其實就是,我們發出一個Request,
    2. 然後百公里外的伺服器回給我們一個 Response;
    3. 然後我們收看到一大堆文字,
    4. 最後,瀏覽器,偷偷的把這堆文字排好了版,放在了我們螢幕上;
    5. 再詳細的原理,可以去看我之前博文里的書,HTTP下午茶 – 小白入門書
  2. 然後,我們要了解,使用Python,如何實現它,實現原理基本就四個步驟:

    1. 首先,程式碼需要向伺服器發出一個Request,然後收到一個Response(html文件)
      • 這裡可以,使用Python的,request庫,或者 urllib標準庫
    2. 然後,我們需要處理收到的這個Response,找到我們所需要的文字
      • 這裡使用,BeautifulSoup4 來實現對 html 文件的解析
    3. 然後,需要設計程式碼流程,來處理重複任務
      • 這裡使用,Loop什麼的,來完成重複的流程
    4. 最後,導出我們得到的數據,最好是漂亮的Excel表格
      • 這裡可以先使用,pandas,來完成一些數據處理,或者計算
      • 然後使用,openpyxl庫來完成,寫入Excel的過程

篇尾總結:

這篇文章,重點在於講解實現的思路和過程,
所以,並非詳盡,也並沒有給出實際的程式碼,
但是,這個思路,幾乎是網頁抓取的通用套路。

就寫到這裡吧,想起什麼再更新,
要是有寫的不到位的地方,還請包涵!