我正在学习如何在scrapy中使用splash。我正在做这个教程:https://github.com/scrapy-plugins/scrapy-splash。
我已经创建了一个scrapy项目。当我运行时:
$ scrapy crawl spider1
一切都很好。但是,当我添加到我的settings.py文件时:
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}我收到一条消息:ModuleNotFoundError: No module named 'scrapy_splash'。我已经检查了我的scrapy_splash是否安装了:
username$ pip3 show scrapy_splash
Name: scrapy-splash
Version: 0.7.1
Summary: JavaScript support for Scrapy using Splash
Home-page: https://github.com/scrapy-plugins/scrapy-splash
Author: Mikhail Korobov
Author-email: kmike84@gmail.com
License: BSD
Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
Requires: 我尝试将scrapy_splash导入到我的爬行器脚本和设置脚本中。如果我这样做,我会收到一条消息:
raise KeyError("Spider not found: {}".format(spider_name))
KeyError: 'Spider not found: spider1'有人知道如何解决这个问题吗?
发布于 2018-04-18 10:51:22
您应该添加到requirements.txt:
scrapy splash==0.7.2
之后,构建容器
docker-compose build container_name
这对我很有效。
https://stackoverflow.com/questions/41590635
复制相似问题