在scrapy python中获取错误的收益率

2024-09-28 01:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码。当我使用yField请求进一步的链接时,我得到了这个错误

Spider must return Request, BaseItem or None, got 'dict' 

我什么都试过了,但还是摆脱不了错误

密码在这里

^{pr2}$

Tags: ornone密码return链接request错误dict
2条回答

你用的是哪一个版本的scrapy。0.16.2的文档有这样的方法passing items to another callback。在

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

注:这是未经测试的其余代码(蜘蛛,项目.py等等)不见了,我不知道这是怎么运行的

两个收益率

您将产生两次-第一次是请求;第二次是dic。(生成请求(…)生成项

我想第二次是不必要的,应该删除。试试看下面的评论。(删除写着yield item的行)

相关问题 更多 >

    热门问题