今年部落格最受歡迎文章:[Python] 現學現賣之網路爬蟲(Crawler)--以抓本BLOG為例是我剛學python時寫的程式,內容其實也都是照著老師的課程講義來做,很多細節也是矇懞懂懂.至今過了半年,爬網的經驗也多了一點,比較有內容可以跟大家分享.爬網有很多種用途,對比起搜尋引擎的全頁抓取,更多時候是抓取特定網站的特定內容,這時候除了爬蟲程式本身之外,對於網站欄位的解析更為重要.
進階版出來囉,有興趣的朋友可以參考[Python][教學] 網路爬蟲(crawler)進階實務-- 自動爬蟲(一)
- 網頁解析工具
現在各大瀏覽器都有網站解析工具可以看到網站的原始碼,只要打開想要的網站,開啟網站解析工具就可以,以下例子使用的是Safari內建的Web Inspectr.以愛評網網為例:先連到首頁,搜尋想要找的餐廳:
- 打開Web Inspector:
- 點選TimeLine可以看到網頁讀取每個元件的時間:
- 點進去可以看到網站連結的真實網址(我們之後會用到):
- 點下去之後,將指標移到想觀察的元件上,就會出現對應的位置,從原始碼中可以很清楚看到店名alochas野草,很明顯地出現在的a tag(<a>......</a>)之間,這表示程式可以很輕易地抓到這個內容:
- 接著觀察電話,會發現電話沒有直接顯示在原始碼中,原始碼出現的是一個img檔案(這是因為網站想反爬網做的處理,一般爬網程式無法抓取不是顯示在原始碼內的東西):
- 這時候該怎麼辦呢?把圖片抓下來用ORC?當然也是一種做法,但是這樣太麻煩了,所以我決定繞一下,看有沒有地方顯示資料:
- 點進野草的連結,發現這邊也有顯示電話:
- 再啟動Inspect看一下內容,非常開心這邊的電話號碼是有標示在原始碼中的!:
- 這時候一切謎底都解開了,接著我們可以就這樣的結構設計爬蟲來爬特定欄位了(待續...希望不要因為這篇文章讓網站改版orz)!
- 繼續觀看下集:[Python][教學] 網路爬蟲(crawler)實務(下)--爬蟲策略以及設定
你好 我是高科大的 teddy 無意間搜尋到你的文章,剛好有python的問題,不知可否向您請教呢?
回覆刪除是有關python爬文的問題,可是我一直無法成功。
可以的話,我再詳細問你,感謝。
沒問題啊~歡迎~
刪除非常感謝Yang Bryan,我把問題貼到我的部落格裡,不知道你借不介意,這邊留言我一職出現錯誤
刪除http://busystudent-demonic.blogspot.tw/
只要一點進去就會看到我的問題了,最後來是非常謝你,謝謝。
已經回覆在您的BLOG上囉~
刪除謝謝分享,這篇文對我現在想爬的東西,有相當大的啟發。
回覆刪除很高興能幫助到您:)
刪除請問你有在幫別人寫程式嗎?謝謝
回覆刪除每天都在幫公司寫程式啊XD
刪除有在接案嗎?
回覆刪除可以email來信討論唷,謝謝
刪除找不到你的,我的是irisyu1219@gmail.com
刪除新手學習遇到問題,可以跟你請教嗎
回覆刪除歡迎喔
刪除可以給我聯絡方式嗎,
刪除我的 coco888v@gmail.com
我把問題整理好寄給你
可以直接用google messenger 丟我問唷
刪除可以請教你一些問題嗎?
回覆刪除