iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 2
5
Software Development

爬蟲始終來自於墮性系列 第 2

工欲善其事,必先利其器(上)

玩爬蟲我們必須借重很多工具來觀察和測試,有適合的工具才能夠幫助我們快速釐清線索,有了線索之後,我們也必須先快速測試,解決 key part,再把整給流程釐清之後,最後才會開始實作程式部分。


觀察工具

第一號工具 - Chrome Developer Tool (以下簡稱 deve tool)

基本上網頁都是給人走的,所以我們要做爬蟲,有很大的部分是模擬人走的路線。觀察我們所送出的 request 是爬蟲的基本功,我們一定要很清楚我們送出的是什麼、拿到的是什麼,而 chrome developer tool 就是一個功能強大且隨手可得的好工具。

dev tool 開啟

在 chrome 頁面的任意地方按檢查就能直接啟動 dev tool

爬蟲要抓取網頁上的資料,就必須知道他是如何產生、產生在哪個位置,我們可以透過 chrome 的 elements tab 來了解該資料在網頁上的位置,進而用選擇器去選取到我們想要的資料。

Network tab

切到 network tab,觀察 request 發送狀況

在使用 dev tool 觀察 request 的時候,要將 tab 切到 network,邊執行網頁動作邊觀察 request 傳送的狀況,觀察時重點在於以下幾項:

  • request 順序
  • url
  • method
  • post data、query data
  • header

清除 request 及 勾選 Preserve log

使用 dev tool 時,也能做篩選和適時地清空,能讓我們更方便的找到我們該專注的目標。另外,在某些頁面跳轉時,dev tool 會清除掉原本的 request,所以建議在觀察的過程當中,要把 Preserve log 打勾。

Source tab

source tab and break point

在目前的網頁技術,常常有用前端做 render 和計算的方式,所以我們也必須觀察目標網站的 js 程式碼。在 dev tool 把 tab 切換到 source,可以看到目前網站的所有 js 程式碼,也能善用 break point 來幫助我們釐清 js 的執行狀況。

打開 console

按 console tab or 按 esc

在我們需要測試的時候,可以直接在 console tab 做操作,驗證我們是否能夠正確的選擇到資料,在任何 tab 按 esc 也能呼叫半個螢幕的 console,更便利我們作業。

快速 search js

在 esc console 切換到 search tab 搜尋

用 esc 打開的 console 的 tabs,裡面有個 search,也是一個很好用的功能,他能讓我們在所有 script 中搜尋我們想要的關鍵字,大幅降低我們查找 script 的時間。


上一篇
好爬蟲,不玩嗎?
下一篇
工欲善其事,必先利其器(下)
系列文
爬蟲始終來自於墮性34

2 則留言

0
pjchender
iT邦新手 5 級 ‧ 2017-12-15 21:26:39

原來在 devtool 中按下「ESC」還會跳出小 console 和 search 視窗!長知識了!

1
konekoya
iT邦新手 5 級 ‧ 2018-02-02 09:56:50

好文章,挑一下骨頭, Chrome 開發者工具(Chrome Developer Tools)有常用的縮寫是 DevTools
https://developer.chrome.com/devtools

Howard iT邦新手 5 級‧ 2018-02-02 10:54:31 檢舉

/images/emoticon/emoticon12.gif

我要留言

立即登入留言