今年部落格最受歡迎文章:[Python] 現學現賣之網路爬蟲(Crawler)--以抓本BLOG為例是我剛學python時寫的程式,內容其實也都是照著老師的課程講義來做,很多細節也是矇懞懂懂.至今過了半年,爬網的經驗也多了一點,比較有內容可以跟大家分享.爬網有很多種用途,對比起搜尋引擎的全頁抓取,更多時候是抓取特定網站的特定內容,這時候除了爬蟲程式本身之外,對於網站欄位的解析更為重要.
-
網頁解析工具
現在各大瀏覽器都有網站解析工具可以看到網站的原始碼,只要打開想要的網站,開啟網站解析工具就可以,以下例子使用的是Safari內建的Web Inspectr.以愛評網網為例:先連到首頁,搜尋想要找的餐廳:
- 打開Web Inspector:
- 點選TimeLine可以看到網頁讀取每個元件的時間:
- 點進去可以看到網站連結的真實網址(我們之後會用到):
- 點下去之後,將指標移到想觀察的元件上,就會出現對應的位置,從原始碼中可以很清楚看到店名alochas野草,很明顯地出現在的a tag(<a>......</a>)之間,這表示程式可以很輕易地抓到這個內容:
- 接著觀察電話,會發現電話沒有直接顯示在原始碼中,原始碼出現的是一個img檔案(這是因為網站想反爬網做的處理,一般爬網程式無法抓取不是顯示在原始碼內的東西):
- 這時候該怎麼辦呢?把圖片抓下來用ORC?當然也是一種做法,但是這樣太麻煩了,所以我決定繞一下,看有沒有地方顯示資料:
- 點進野草的連結,發現這邊也有顯示電話:
- 再啟動Inspect看一下內容,非常開心這邊的電話號碼是有標示在原始碼中的!:
- 這時候一切謎底都解開了,接著我們可以就這樣的結構設計爬蟲來爬特定欄位了(待續...希望不要因為這篇文章讓網站改版orz)!
資料來源:Bryan的行銷研究及資料分析筆記
留下你的回應
以訪客張貼回應