Scrapy Splash на сервере Ubuntu: неожиданный аргумент ключевого слова 'кодировка'
Используемый мной Scrapy Splash прекрасно работает на моей локальной машине, но возвращает эту ошибку, когда я использую его на своем сервере Ubuntu. Это почему? Это вызвано нехваткой памяти?
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
2 ответа
Я решаю это, используя точный URL вместо этого:
SPLASH_URL = 'http://therealip:8050'
Любое решение localhost не работает. Я думаю, что это ошибка в Scrapy Splash.
ОБНОВИТЬ
Оказывается, ошибка тоже пропала, если я выключу Crawlera. Но тогда это воспроизводит другую ошибку. Лучше не использовать localhost в конфигурации.
TypeError: init() получил неожиданный аргумент ключевого слова 'encoding'
Кажется, что вы передаете где-то классу init (возможно, создание экземпляра) дополнительный параметр 'encoding'. Попробуйте исследовать это.