上一回[Python][教學] 網路爬蟲(crawler)進階實務– 自動爬蟲(一)介紹了怎麼繼承已經寫好的CrawlSpider物件來達到根據規則自動爬網頁的效果,但是如果你要爬的分頁沒有特定的規則,或是只想抓取頁面中的特定連結又該如何處理呢?
前面幾篇[Python][教學] 網路爬蟲(crawler)實務(上)–網頁元件解析和[Python][教學] 網路爬蟲(crawler)實務(下)–爬蟲策略以及設定介紹了撰寫爬蟲程式基本的觀察以及實作方式.這樣的方式爬一兩個小網站還可以,但是如果要爬比較複雜或是多個網站就比較難維護.因此實務上比較常使用Scrapy這個爬蟲框架來處理,這次將介紹更進階的使用方法給各位.
在知道目標之後,接著就要決定如何達成。網路爬蟲的概念很簡單,就是進入網頁之後,將網站中的原始碼擷取下來,透過Xpath或是Html節點的方式來找到目標字串。
今年部落格最受歡迎文章:[Python] 現學現賣之網路爬蟲(Crawler)--以抓本BLOG為例是我剛學python時寫的程式,內容其實也都是照著老師的課程講義來做,很多細節也是矇懞懂懂.至今過了半年,爬網的經驗也多了一點,比較有內容可以跟大家分享.爬網有很多種用途,對比起搜尋引擎的全頁抓取,更多時候是抓取特定網站的特定內容,這時候除了爬蟲程式本身之外,對於網站欄位的解析更為重要.
Scrapy是python上很受歡迎的爬網框架,官方網站為:http://doc.scrapy.org/en/latest/index.html.介紹Scrapy的網站很多,官網自己就寫得很清楚,一些中文化的資料可參考像是http://www.addbook.cn/book/scrapy中文手册等資料.今天主要介紹的是爬網之後的動作.爬網並不是單純爬文而已,而是為了提供之後進一步的分析,所以資料都必須儲存下來,儲存的方式有很多種,可以單純是個file,再由分析軟體來處理資料,或是把資料放在資料庫中,做進一步的分析.