我想从scrapy项目中为scrapyd创建一个自定义服务,但是我一直遇到错误。
我创建了crawler/webservice.py
:
from scrapyd.webservice import WsResource
class Backintime(WsResource):
def render_GET(self,txtrequest):
return {
'id': 'something works!'
}
然后修改scrapyd.conf
并在backintime.json = crawler.webservice.Backintime
标签下添加行[services]
。
运行命令scrapyd
时出现错误:
...
File "c:\personal\virtualenvs\crawlie\lib\site-packages\scrapyd\app.py",line 39,in application
webservice = TCPServer(http_port,server.Site(webcls(config,app)),interface=bind_address)
File "c:\personal\virtualenvs\crawlie\lib\site-packages\scrapyd\website.py",line 33,in __init__
servCls = load_object(servClsname)
File "c:\personal\virtualenvs\crawlie\lib\site-packages\scrapy\utils\misc.py",line 46,in load_object
mod = import_module(module)
File "C:\Users\user\Anaconda3\lib\importlib\__init__.py",line 126,in import_module
return _bootstrap._gcd_import(name[level:],package,level)
File "<frozen importlib._bootstrap>",line 994,in _gcd_import
File "<frozen importlib._bootstrap>",line 971,in _find_and_load
File "<frozen importlib._bootstrap>",line 941,in _find_and_load_unlocked
File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
File "<frozen importlib._bootstrap>",line 953,in _find_and_load_unlocked
builtins.ModuleNotFoundError: No module named 'crawler'
Failed to load application: No module named 'crawler'
尝试遵循一些以前的解决方案,但没有成功:
- https://groups.google.com/forum/#!searchin/scrapy-users/webservice/scrapy-users/czu8YeYFvao/8GDHMJbi56wJ
- How to add a new service to scrapyd from current project
- Implementing own scrapyd service
我应该如何添加新服务,以便scrapyd可以导入它?