<p>你用的是哪一个版本的scrapy。0.16.2的文档有这样的方法<a href="https://scrapy.readthedocs.org/en/0.16/topics/request-response.html#passing-additional-data-to-callback-functions" rel="nofollow">passing items to another callback</a>。在</p>
<pre><code>def parse_items(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select("//li[contains(concat(' ', @class, ' '), ' mod-searchresult-entry ')]")
items = []
for site in sites[:2]:
item = SeekItem()
item['title'] = myfilter(site.select('dl/dd/h2/a').select("string()").extract())
item['link_url'] = myfilter(site.select('dl/dd/h2/em').select("string()").extract())
item['description'] = myfilter(site.select('dl/dd/p').select("string()").extract())
if item['link_url']:
request = Request("http://www.example.com/some_page.html", callback=self.parseItemDescription)
request.meta['item'] = item
return request
def parseItemDescription(self, response):
item = response.meta['item']
hxs = HtmlXPathSelector(response)
sites = hxs.select("//li[contains(concat(' ', @class, ' '), ' mod-searchresult-entry ')]")
item['description'] = "mytest"
return item
</code></pre>
<p>注:这是未经测试的其余代码(蜘蛛,项目.py等等)不见了,我不知道这是怎么运行的</p>