账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    scrapy中parse调用另外一个parse报错
    32
    0
    def parse(self, response):
            li_list = response.css("div.list_cont.Left_list_cont.Left_list_cont1 > div.tab_tj > div > div > ul > li")
            for li in li_list:
                item = CardItem()
                item['href'] = li.css("a::attr(href)").extract()
                item['title'] = li.css("a::attr(title)").extract()
                scrapy.Request(url=item['href'],
                 callback=self.detail_parse, headers=self.headers) # 此行运行报错
                yield item
                
    def detail_parse(self, response):
            print("ok")
            pass

    错误信息为:

    Traceback (most recent call last):
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\utils\defer.py", line 102, in iter_errback
        yield next(it)
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\spidermiddlewares\offsite.py", line 30, in process_spider_output
        for x in result:
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\spidermiddlewares\referer.py", line 339, in <genexpr>
        return (_set_referer(r) for r in result or ())
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\spidermiddlewares\urllength.py", line 37, in <genexpr>
        return (r for r in result or () if _filter(r))
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\spidermiddlewares\depth.py", line 58, in <genexpr>
        return (r for r in result or () if _filter(r))
      File "E:\Project\python\win4000-images-crawler\tutorial\spiders\run_spider.py", line 27, in parse
        yield scrapy.Request(url=item['href'], callback=self.detail_parse, headers=self.headers)
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\http\request\__init__.py", line 25, in __init__
        self._set_url(url)
      File "d:\softs\python\python36-32\lib\site-packages\scrapy\http\request\__init__.py", line 56, in _set_url
        raise TypeError('Request url must be str or unicode, got %s:' % type(url).__name__)
    TypeError: Request url must be str or unicode, got list:
    
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部