python - 我可以从 Scrapy 中的自定义 Spider 继承吗?
问题描述
我在 Scrapy 中创建了一个新项目,我有一个像这样的 Spider:
文件:蜘蛛/customspider.py:
import scrapy
class CustomSpider(scrapy.Spider)
name = 'CustomSpider'
def start_requests(self):
pass
# exec code
然后我创建了一个这样的新蜘蛛:
文件:蜘蛛/otherspider.py
import scrapy
from customspider import CustomSpider
class OtherSpider(CustomSpider)
name = 'OtherSpier'
def start_requests(self):
super().start_requests()
但我收到此错误:
ModuleNotFoundError:没有名为“CustomSpider”的模块
我在文档上找不到任何帮助,有人可以帮助我吗?
谢谢!
解决方案
我不熟悉 Scrapy,但您的问题似乎不是关于 Scrapy,而是关于导入模块。
除了代码中的一些语法错误外,问题出在以下语句中:
from customspider import CustomSpider
将其更改为:
from .customspider import CustomSpider
或者
from spiders.customspider import CustomSpider
这假设它spiders
是一个模块,并且 Python 应用程序的工作目录比它高一个目录。
或者,如果该目录spiders
在您的 Python 路径中,它也应该与您最初发布的代码一起使用(如果其他语法错误已修复)。但是,我不建议将其作为解决方案。
推荐阅读
- python - 如何根据条件在熊猫数据框中添加新行?
- java - 如何在Java中的BinaryTree中返回最频繁的元素
- tensorflow - 检查目标时出错:预期dense_Dense5 的形状为[,1],但得到的数组的形状为[3,4]
- python - Snowflake:SQL 编译错误:错误行无效标识符 '"dateutc"'
- linux - RUN 是什么 | 意思是在docker文件中?
- javascript - 如何将 CDN 上的图像与 CDN 上的 JS 集成
- azure-application-insights - AppInsight java 代理将无效字符添加到操作 ID
- c++ - 5.15.2 与 5.12.3 中的 Qt 虚拟键盘断言错误
- excel - 使用excel进行条件计数
- python - 通过python解析嵌套xml给出空列表而不是标签值