您正在
runner
目录中启动 glassesshop
,因此从 its 角度来看,只有一个 glassesshop
包,而不是从 eye-glasses
项目角度来看的两个
更改 PyCharm 运行配置以在
$PROJECT_DIR$
目录中启动,然后脚本将是 glassesshop/runner.py
,或者当然,将 runner.py
向上移动一个目录
虽然这不是您所要求的,但您也可以像正常的 Python 代码一样调试您的 Spider - 无需涉及所有 Scrapy 机器 - 通过在 Spider 底部放置一个
main
并正常运行它;如果您想要更正式的验证,同样的技巧也适用于 unittest
或 pytest
class MySpider(Spider):
def parse(self, response):
pass
if __name__ == '__main__':
with open("a-sample-response.html") as fh:
html = fh.read()
req = Request(url="https://example.com")
resp = HtmlResponse(url=req.url, request=req, body=html)
s = MySpider()
s.parse(resp)