Python 在Scrapy中的单个列表中追加产品名称
我目前的scrapy spider根据需要从网站上提取产品标题,但将每个起始url的提取放在一个单独的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
['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
函数。因此,每次它都会重新初始化您的项目列表