【问题标题】:Scrapy with Splash: no module named scrapy_splashScrapy with Splash:没有名为 scrapy_splash 的模块
【发布时间】:2017-01-11 12:11:03
【问题描述】:

我正在尝试学习如何使用splash 进行scrapy。我正在做这个教程: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'

有人知道如何解决这个问题吗?

【问题讨论】:

  • 你确定你在运行 python3 scrapy 吗?你能做pip3 show scrapy吗?可能是你的 python3 上有 scrapy-splash 和 python2 上的 scrpay。另外我强烈建议使用虚拟环境来避免此类问题:)
  • @Granitosaurus 你好!是的,我安装了scrapy 1.3。我想我已经在虚拟环境中尝试过了!会再做一次。谢谢

标签: python scrapy splash-screen


【解决方案1】:

你应该添加到 requirements.txt:

scrapy-splash==0.7.2

然后构建容器

docker-compose 构建容器名称

这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多