I have this code. When I use yyield to request a further link, I get this error message
Spider must return Request, BaseItem or None, got 'dict'
I tried everything, but I can not get rid of the error
Code here
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
source share