#在items模塊中有下面三個參數: import scrapy class TextItem(spider.Item): title = scrapy.Field() price = scrapy.Field() image = scrapy.Field() #在spider爬蟲中: class TaobaoSpider(scrapy.Spider): name = ['taobao'] allowed_domains = ['www.taobao.com'] def parse1(self,response): ''' 需要知道的是item是一個字典 ''' item = TextItem() for product in response.css('......').extract(): item['title'] = product.css('......').extract_first() item['price'] = product.css('......').extract_first() url = product.css('......').extract_first() yield = scrapy.Request(url=url, meta={'item':item} callback=self.parse2) ''' 比如我們要爬取淘寶上的商品,我們在第一層爬取時候獲得了標題(title)和價格(price), 但是還想獲得商品的圖片,就是那些點進去的大圖片,假設點進去的鏈接是上述代碼的url, 利用scrpy.Request請求url后生成一個Request對象,通過meta參數,把item這個字典賦值給meta字典的'item'鍵, 即meta={'item':item},這個meta參數會被放在Request對象里一起發送給parse2()函數。 ''' def parse2(self,response): item = response.meta['item'] for product in response.css('......').extract(): item[imgae] = product.scc('......').extract_first() return item ''' 這個response已含有上述meta字典,此句將這個字典賦值給item,完成信息傳遞。 這個item已經和parse中的item一樣了 之后我們就可以做圖片url提取的工作了, 數據提取完成后return item ,這樣就完成了數據抓取的任務了。 '''