如何抓取網路資源?
Web Scrape 入門
@JasonXDDD
劉冠林
- 前端工程師 ( Front-End Engineer)
- 其餘從事接案、設計美編...
- 工作: MyProGuide 主前端工程師
可以叫我 罐罐,或 XD,英文 JasonXD
@JasonXDDD
>/ Index
-
Some interest sharing
-
What is Web Scrape?
-
How to use?
-
Examples
有一天
欸欸罐罐,最近有一個競爭對手XXX出現了,
你可不可以去查查他們的資料?
誰啊? 而且我不確定能不能抓到他們的資料,
我又不是駭客...
你去試試看,最好是能抓到他們的資料,
或是產品、價格...的,
阿對還有OOO跟@@@網站也是。
好啦我試試看...
OS: 有沒有在聽我說話啊QQ
於是,今天我們就來談談Web Scrape吧XD
>/ What is Web Scrape?
廣義而言,網站上有我們想要的資源,透過手段將資料擷取、錄製並加以分析,產出我們所需的內容資料
俗稱 爬蟲、Spider
Search Engine Crawler:
大型網路搜尋引擎爬蟲,在網域內自動去爬取不同網站資料,EX: Google Spider
>/ 常見網站資料請求方式
- 回傳HTML: 最傳統也最好做
-
Restful API: 有點頭痛
- 要去解析API Request, Headers, Response Data
- SPA: Very頭痛
- 要去尋找要的資料是綁在頁面上or透過AJAX
- 要能解決資料async問題
- Pagination 多頁資料
- 下一頁、頁數、滾動載入
- 下一頁、頁數、滾動載入
- Event Trigger 事件觸發資料
- Click、Animation、hide tag
- Click、Animation、hide tag
- Complex Structure 複雜結構的資料
- tag分層過多、data沒有規律性
>/ Other issues
挖靠! 要處理這麼多事情,我要怎麼辦??
必殺技:
等待載入完成之術
任何請求方式,最終網站一定會載入完成並呈獻給使用者,
因此,我們偵測最終的網頁資料即可
>/ Result
導入到Google Sheet,寫一個定期抓取的事件
>/ DLC: Other methods
在網站上插入一段程式碼,來擷取資料 ((駭客思維
那麼我應該可以把code插在自己的網站裡來抓資料
一般人 >> 丟請求,拿資料來爬
專業人士 >> 駭入漏洞,插入後門(木馬),自動蒐集資料
Q: 那些資料是我想要的?
A: 使用者裝置、瀏覽器、甚至是位置座標
Q: 該怎麼取得?
A: Browser BOM, navigator info
Q: 然後?
A: 彙整資料 => 分析 => Data Visualization
Q: 觸發事件?
A: 當使用者連到網站的任意連結
>/ Do something hack ...done!
>/ 然後蒐集的資料
>/ 資料視覺化
^ 地理位置 v 網址排行 v 熱門關鍵字搜尋 ^ 作業系統排行
可以很基礎自由的爬資料,
也可以很Hacker的方式來抓資料,
只要能達到目的都是個方法。
>/ 網路爬蟲
新前端聚 籌備!
預計,周六 (9/8) 會開第一次會議
無論你的程度為何
如果你對前端領域有興趣
或是想來一起聊天交友
聽聽有趣的故事或消息
歡迎你一同參與 XD
詳細情況請私訊我!!
Web Scrape
By Jason Liu (罐罐)
Web Scrape
2018-09-04 研究所會議 Slide
- 248