跳到主要內容區塊
4月號 2020 Apr
資訊補給站-Python 爬蟲應用— 以台糖易購網為例
資訊處 王柏宗
 
網際網路的蓬勃發展,越來越多民眾在網路上尋找資料,卻也因為資訊爆炸,造成不知從何找起的困擾,企業也開始透過網際網路蒐集一些商業資訊,包含競爭對手的新聞、競爭商品的價格等,每天透過人工處理效率並不高,因此,爬蟲想法應運而生,透過自動化的蒐集資料,並進行初步的篩選後,再經由人工判斷出有用的資訊,此舉將大幅減少蒐集資料的時間,也讓人員能專注於更有附加價值的作業。目前,大部分的爬蟲應用都是透過python程式語言進行撰寫,因為每個網頁撰寫方式不盡相同,無法以單一個Python爬蟲程式爬所有網頁,以下將介紹何謂爬蟲、Python介紹和實作。
 
何謂爬蟲
簡而言之,爬蟲是模仿人類瀏覽之行為,我們在網頁上查看哪些資訊、點擊哪些按鈕和做哪些動作,都可以透過爬蟲進行模擬,爬蟲的兩大工作為下載檔案和分析內容,透過爬蟲程式下載網頁資料,並透過搜尋、字串處理和取代等各種技巧過濾出我們需要的資料。實際上,爬蟲所要處理的是沒有透過瀏覽器處理的HTML原始碼,我們平常瀏覽的網頁,其實是由HTML、JavaScript等程式語言撰寫而成,透過瀏覽器的處理後呈現成我們瀏覽的網頁,所以想透過Python程式語言撰寫爬蟲程式必須先有一點HTML網頁程式設計的基本知識。
 
Python學習熱
近幾年因為大數據分析和人工智慧應用的蓬勃發展,帶起一股學習Python程式語言的熱潮,Python是物件導向的高階程式語言,也是直譯式程式語言,由於其在撰寫上相較於其他程式語言較不嚴僅,限制較少,所以對於程式設計的新手來說較容易入手,其優點在於擁有豐富和龐大的函式庫,幫助程式開發人員節省許多工作,也因此大量用於數據分析與處理和人工智慧的應用。

Python
 
台糖易購網實作應用
爬蟲目前廣泛應用於商業領域,尤其針對商品資料的蒐集,透過自動化方式定時至特定網站蒐集所需資料,像是價格、新聞等資訊,藉此了解競爭商品的價格波動和動態,若今天我們想購買特定商品,卻沒有多餘的時間進行比價,爬蟲或許是一個好的解決辦法,目前,眾多的比價網站都是透過爬蟲程式去抓取各大購物網站和個人賣場的商品資料,接下來將以台糖公司自行營運的台糖健康易購網為對象,針對網站上提供的商品進行爬蟲,以獲得我們需要的資料。
 
爬蟲就像是到別人家裡光顧,必須先了解屋內的配置,才能拿到自己想要的東西,如果不了解就貿然行動,會拿回一堆不是自己想要的。首先,必須了解欲爬蟲對象網頁的撰寫結構,之後才能撰寫爬蟲程式進行後續的爬蟲。任何程式語言都需要一個開發環境進行開發,Python有不少開發環境工具可以選擇,Anaconda開發環境工具可以當作是Python的懶人包,除了Python本身(Python2、3),還包含了Python常用的資料分析、機器學習、視覺化的套件,透過載入套件方式,讓程式撰寫變得相當容易。
首先,載入BeautifulSoup這個套件,此套件可用於抓取網頁資料(HTML)的工具,並使用自己習慣的解析程序(parser)在短時間內做到爬資料的工作,透過此套件讓爬蟲程式撰寫變得簡單,以台糖易購網為例,透過撰寫爬蟲程式自動化爬取台糖糖適康此項商品於網站上的名稱和價格,觀察易購網的網頁架構後可以得知,商品名稱和價格是放置於<span class="red-title2">這個標籤中,透過抓取此標籤下的資料就能取得商品名稱和價格,如此一來,不需要親自瀏覽網站也可以取得想要的資料,透過排程設定即能定時至特定網站爬取所需資料,免去人工處理步驟。
 
數位資料未來式
數位資料將成最有價値的新黑金,現代人生活離不開網際網路,加上智慧型裝置的推波助瀾下,食衣住行育樂都能在網路上找到需要的資料,如此一來,人們也越來越多足跡散佈於網路中,對商家而言,透過資料的蒐集,並使用一些資料探勘工具,更輕易了解資料之間的關聯,也更容易擘劃出每位顧客的數位輪廓,不僅透過公司內部資料,也利用外部資料的蒐集和處理分析後,更能掌握顧客的需求,自動爬蟲程式將能大大減輕人力蒐集資料之負擔,讓人力可以運用在更有效率的地方。
編輯室報告
封面故事-我的初登場
糖情outlook
專題報導
專欄
資訊補給站
繽紛生活
  • 買東西
  • 找據點
  • 會員區
  • 住台糖
  • fb分享
回到最上方