2
A
回答
2
在Python中,你不能隐式导入的代码(至少在没有黑客左右),毕竟明确优于隐式 - 所以它不是一个好主意。
然而在scrapy中,拥有常见功能和方法的基础Spider类是非常普遍的。
让我们假设你有这样的树:
├── myproject
│ ├── __init__.py
│ ├── spiders
│ │ ├── __init__.py
│ │ ├── spider1.py
│ │ ├── spider2.py
├── scrapy.cfg
我们可以在spiders/__init__.py
创建一个基本的蜘蛛:
class BaseSpider(Spider):
def common_parse(self, response):
# do something
而且从它在你的蜘蛛继承:
from myproject.spiders import BaseSpider
class Spider1(BaseSpider):
def parse(self, response):
# use common methods!
if 'indicator' in response.body:
self.common_parse(response)
相关问题
- 1. Scrapy与Scrapy蜘蛛
- 2. scrapy蜘蛛没有发现
- 3. Scrapy CrawlSpider没有蜘蛛
- 4. Scrapy蜘蛛解析器调用函数
- 5. Python的scrapy蜘蛛
- 6. Scrapy DOMAIN_NAME的蜘蛛
- 7. Scrapy蜘蛛Xpath的选择
- 8. scrapy中的连环蜘蛛
- 9. Scrapy蜘蛛登录问题
- 10. Scrapy蜘蛛过早关闭
- 11. Scrapy雅虎集团蜘蛛
- 12. Scrapy找不到蜘蛛
- 13. Scrapy蜘蛛不爬行
- 14. Scrapy蜘蛛错误处理
- 15. scrapy - 蜘蛛模块def函数没有被调用
- 16. Scrapy,没有错误,蜘蛛爬行
- 17. Scrapy蜘蛛没有发现错误
- 18. Scrapy蜘蛛没有收到spider_idle信号
- 19. (Python,Scrapy)将txt文件中的数据转换为Scrapy蜘蛛
- 20. Scrapy从主蜘蛛运行多个蜘蛛?
- 21. 使用Scrapy创建蜘蛛,蜘蛛生成错误
- 22. 如何比较每个Scrapy蜘蛛项目与另一个Scrapy蜘蛛项目?
- 23. 本地运行Scrapy中的所有蜘蛛
- 24. 从蜘蛛Scrapy调用一个函数设置
- 25. 用scrapy管理多个蜘蛛
- 26. Scrapy蜘蛛不释放项目内存
- 27. Scrapy爬行蜘蛛只触摸start_urls
- 28. 重新包装Scrapy蜘蛛项目
- 29. 从scrapy脚本运行多个蜘蛛
- 30. Scrapy - 调用蜘蛛从其他脚本
感谢@ Granitosaurus,但我在尝试此操作时遇到错误:'ImportError:使用nam时无法导入名称BaseSpider' e显示的文件夹结构。试图玩'myproject'的替代品,当我使用'从scrapy.spiders导入BaseSpider'我能够运行蜘蛛,但它没有找到函数。关于我在哪里可能犯了错误的任何建议? – Casper
@Casper你确定你的树结构是正确的吗?这可能是因为你需要安装你自己的软件包或者更新你的pathonpath,因为python实际上可以找到导入的位置。相似的问题:https://stackoverflow.com/questions/21352669/python-path-explained-import-from-a-subpackage – Granitosaurus
原来我没有在正确的'__init __。py'中工作。感谢您的明确解释! – Casper