Python 在Scrapy中的单个列表中追加产品名称

Python 在Scrapy中的单个列表中追加产品名称,python,list,append,scrapy,Python,List,Append,Scrapy,我目前的scrapy spider根据需要从网站上提取产品标题,但将每个起始url的提取放在一个单独的['product']列表中。我希望所有的start_url提取都放在一个单独的列表中(对于每个类类型:product、price等),这样我就可以在以后的提取操作中调用列表中的每个产品标题 这是我现在的蜘蛛: from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector from pr

我目前的scrapy spider根据需要从网站上提取产品标题,但将每个起始url的提取放在一个单独的
['product']
列表中。我希望所有的start_url提取都放在一个单独的列表中(对于每个类类型:product、price等),这样我就可以在以后的提取操作中调用列表中的每个产品标题

这是我现在的蜘蛛:

 from scrapy.spider import BaseSpider
 from scrapy.selector import HtmlXPathSelector
 from proj.items import projItem

 class siteSpider(BaseSpider):
     name = "newSpider"
     allowed_domains = ["http://www.sample.url/"]
     start_urls = [
         "http://sample1.url",
         "http://sample2.url"
             ]

     def parse(self, response):
         hxs = HtmlXPathSelector(response)
         items = []
         item = FlecheNoireItem()
         item ["product"] = hxs.select('//h2/a[contains(@class,"next_prev")]/text()').extract()
         items.append(item)
         return items

你想在哪里进行操作?如果您想要一个可在整个spider中使用的通用列表,您可以使用:

class siteSpider(BaseSpider):
    ...
    generic_dict = {'product': [], 'price': [], 'etc': []}
    ...

    def parse(self, response):
        ...
        self.generic_dict['product'].append(hxs.select(...))
        ...

    def manipulations(self):
        ...manipulations here...
        return self.generic_dict
之所以有这些不同的列表,是因为对于每个
start\u url
url,scrapy调用了一个新的
parse
函数。因此,每次它都会重新初始化您的
项目
列表