斷斷續續地在網路和書籍上學習有關 Python 的爬蟲技術,但隨著反爬蟲的技術也是越來越精進,所以想說藉由 「超新手也能用 Python 爬蟲打造貨比千家的比價網站」這門課來看看能否解決相關的疑惑。這篇主要是記錄下「網頁爬蟲的起源和處理策略」。
課程相關資訊
[連結]:https://hiskio.com/courses/527/lectures/26078
本篇範圍:Chapter 1 ( 資料科學與網頁爬蟲 )
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
筆記
1. 資料爬蟲最早期的來源是在於「搜尋引擎」,將整個網頁視為一個蜘蛛網,藉由連結來爬取各個網站
2. 越熱門的網頁,其相對應的連結數也會越多,這就是 Google 的 PageRank 雛形,搭配上 Inverted Index ,讓搜尋引擎的效率更佳
3. 相較於資料爬蟲,網頁的爬蟲更重視的是「取得特定頁面」上的資料
4. 資料來源的渠道可分為:檔案、API和網頁爬取,透過程式自動化實現
5. 輸入網址 -> 發送 Request -> 伺服器回傳 Response -> 瀏覽器解析後給使用者做呈現
6. Python 在網頁爬蟲的生態中,已經有了許多的對應工具庫,如:
Requests, urllib – 模擬請求和攔截回應
BeautifulSoup, Pyquery, Xpath – 整理和清理資料
Selenium, PhantomJS, Ghost – 動態網站的資料取得
Scrapy, Pyspider – 多頁面的爬蟲框架
7. 有了資料之後,你需要考量怎麼處理資料、呈現資料,像是:
Pandas – 資料清理
將資料存入 MySQL, Google Sheet
用 PowerBI, Tableau 等做視覺呈現
自架 Framework 來打造應用服務
部屬到雲端,讓這些爬蟲和網站可以自動持續更新