簡體   English   中英

如何在Scrapy中使用全局變量解析響應?

[英]How do I parse a response using a global variable in Scrapy?

我將start_requets方法修改為:

def start_requests(self):
    array = list(open("file", 'r'))
    for i in array:
        yield self.make_requests_from_url("http://example.org/test.php?id=" + i)

如何在解析方法中訪問i的值?

我嘗試設置全局變量idd並添加

global idd
idd = i

start_requests方法中,然后

def parse(self, response):
    item = DataItem()
    item['id'] = idd

但是所有項目的id字段都填充了idd的最后一個值。

我該如何解決?

一種(可能是最簡單的)選擇是將其傳遞給meta

yield scrapy.Request("http://example.org/test.php?id=" + i, 
                     meta={"index": i},
                     dont_filter=True)

然后,在parse()讀取它:

def parse(self, response):
    index = response.meta["index"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM