scrapy中的meta引數的使用

2021-09-01 22:15:48 字數 1453 閱讀 1670

首先我們要知道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值是由...