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蜘蛛沒有發現
- 4. Scrapy CrawlSpider沒有蜘蛛
- 5. Scrapy蜘蛛解析器調用函數
- 6. Scrapy DOMAIN_NAME的蜘蛛
- 7. Python的scrapy蜘蛛
- 8. scrapy蜘蛛碼校驗
- 9. Scrapy蜘蛛不工作
- 10. Scrapy - 運行蜘蛛多次
- 11. Scrapy雅虎集團蜘蛛
- 12. Scrapy找不到蜘蛛
- 13. Scrapy蜘蛛過早關閉
- 14. Scrapy蜘蛛Xpath的選擇
- 15. Scrapy蜘蛛登錄問題
- 16. Scrapy管理動態蜘蛛
- 17. Scrapy蜘蛛錯誤處理
- 18. scrapy中的連環蜘蛛
- 19. Scrapy蜘蛛不爬行
- 20. Scrapy蜘蛛不收集所有頁面的數據
- 21. scrapy - 蜘蛛模塊def函數沒有被調用
- 22. Scrapy:蜘蛛沒有任何返回
- 23. Scrapy蜘蛛沒有收到spider_idle信號
- 24. Scrapy,沒有錯誤,蜘蛛爬行
- 25. Scrapy蜘蛛沒有發現錯誤
- 26. Scrapy蜘蛛沒有關注鏈接
- 27. 使用Scrapy創建蜘蛛,蜘蛛生成錯誤
- 28. Scrapy從主蜘蛛運行多個蜘蛛?
- 29. (Python,Scrapy)將txt文件中的數據轉換爲Scrapy蜘蛛
- 30. 如何比較每個Scrapy蜘蛛項目與另一個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