首先我們要知道meta是乙個字典,它的主要作用是用來傳遞資料的,meta = ,如果想在下乙個函式中取出value1, 只需得到上乙個函式的meta[『key1』]即可, 因為meta是隨著request產生時傳遞的,下乙個函式得到的response物件中就會有meta,即response.meta.
#在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= callback=self.parse2)
'''比如我們要爬取**上的商品,我們在第一層爬取時候獲得了標題(title)和**(price),
利用scrpy.request請求url後生成乙個request物件,通過meta引數,把item這個字典賦值給meta字典的'item'鍵,
即meta=,這個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 ,這樣就完成了資料抓取的任務了。
'''**:
中meta的作用
一 語法 二 引數解析 1 name項 常用的選項有keywords 關鍵字 description 內容描述 author 作者 robots 機械人嚮導 等。2 http equiv項 可用於代替name項,常用的選項有expires 期限 pragma cache模式 refresh 重新整理...
meta中viewport的使用
隨著高階手機 andriod,iphone,ipod,winphone等 的盛行,移動互聯應用開發也越來越受到人們的重視,用html5開發移動應用是最好的選擇。然而,每一款手機有不同的解析度,不同螢幕大小,如何使我們開發出來的應用或頁面大小能適合各種高階手機使用呢?學習html5 viewport的...
meta中的viewport指令
在檢視bootstrap教程中,碰到 後,在群兄弟小胡幫助下,知道viewport含義 viewport 標記用於指定使用者是否可以縮放web頁面,如果可以,那麼縮放到的最大和最小縮放比例是什麼。使用viewport 標記還表示文件針對移動裝置進行了優化。viewport 標記的content值是由...