關(guān)于Scrapy如何安裝部署的文章已經(jīng)相當(dāng)多了,但是網(wǎng)上實(shí)戰(zhàn)的例子還不是很多,近來正好在學(xué)習(xí)該爬蟲框架,就簡單寫了個Spider Demo來實(shí)踐。
作為硬件數(shù)碼控,我選擇了經(jīng)常光顧的中關(guān)村在線的手機(jī)頁面進(jìn)行爬取,大體思路如下圖所示。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 1 # coding:utf-8 2 import scrapy 3 import re 4 import os 5 import sqlite3 6 from myspider.items import SpiderItem 7  8  9 class ZolSpider(scrapy.Spider):10     name = "zol"11     # allowed_domains = ["http://detail.zol.com.cn/"]  # 用于限定爬取的服務(wù)器域名12     start_urls = [13         # 主要爬去中關(guān)村在線的手機(jī)信息頁面,考慮到是演示目的就僅僅爬了首頁,其實(shí)爬分頁跟二級爬蟲原理相同,出于節(jié)省時間目的這里就不爬了14         # 這里可以寫多個入口URL15         "http://detail.zol.com.cn/cell_phone_index/subcate57_list_1.html"16     ]17     item = SpiderItem()  # 沒法動態(tài)創(chuàng)建,索性沒用上,用的meta在spider函數(shù)間傳值18     # 只是test一下就用sqlite吧,比較輕量化19     #database = sqlite3.connect(":memory:")20     database_file = os.path.dirname
        
		

網(wǎng)友評論