關(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)行爬取,大體思路如下圖所示。
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