我有这个代码。当我使用 yyield 请求更多链接时,我得到了这个错误
Spider must return Request, BaseItem or None, got 'dict'
我已经尝试了很多,但我无法摆脱错误
代码在这里
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']:
yield Request(urljoin('http://www.seek.com.au/', item['link_url']),
meta = item,
callback = self.parseItemDescription)
yield item
def parseItemDescription(self, response):
item = response.meta
hxs = HtmlXPathSelector(response)
sites = hxs.select("//li[contains(concat(' ', @class, ' '), ' mod-searchresult-entry ')]")
item['description'] = "mytest"
return item