Ubuntu 服务器上的 Scrapy Splash:得到一个意外的关键字参数 'encoding'

Scrapy Splash on Ubuntu server: got an unexpected keyword argument 'encoding'

我使用的 Scrapy Splash 在我的本地机器上工作得很好,但是当我在我的 Ubuntu 服务器上使用它时 returns 这个错误。这是为什么?是不是内存不足造成的?

  File "/usr/local/lib64/python2.7/site-packages/twisted/internet/defer.py", line 1299, in _inlineCallbacks
    result = g.send(result)
  File "/usr/local/lib/python2.7/site-packages/scrapy/core/downloader/middleware.py", line 53, in process_response
    spider=spider)
  File "/usr/local/lib/python2.7/site-packages/scrapy_splash/middleware.py", line 387, in process_response
    response = self._change_response_class(request, response)
  File "/usr/local/lib/python2.7/site-packages/scrapy_splash/middleware.py", line 402, in _change_response_class
    response = response.replace(cls=respcls, request=request)
  File "/usr/local/lib/python2.7/site-packages/scrapy/http/response/text.py", line 50, in replace
    return Response.replace(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/scrapy/http/response/__init__.py", line 79, in replace
    return cls(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/scrapy_splash/response.py", line 33, in __init__
    super(_SplashResponseMixin, self).__init__(url, *args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'encoding'

更新

只有在使用 localhost 作为 SPLASH_URL

时才会发生

我使用确切的 URL 来解决它:

SPLASH_URL = 'http://therealip:8050'

任何本地主机解决方案都不起作用。我认为这是 Scrapy Splash 中的一个错误。

更新

事实证明,如果我关闭 Crawlera,错误也消失了。但随后它又重现了另一个错误。最好不要在配置中使用localhost。

TypeError: init() got an unexpected keyword argument 'encoding'

您似乎在某处向 class init(可能创建实例)传递了一个额外的参数 'encoding'。 尝试对此进行调查。