寫好本身的爬蟲項目以後,能夠本身定製爬蟲運行的命令。html
1、單爬蟲python
在項目的根目錄下新建一個py文件,如命名爲start.py,寫入以下代碼:框架
from scrapy.cmdline import execute if __name__ == "__main__": execute(["scrapy", "crawl", "chouti", "--nolog"])
運行start.py便可。scrapy
2、多爬蟲運行ide
一、在spiders的同級目錄建立文件夾,如commands;post
二、在這個新建的文件夾下建立一個py文件,如命名爲crawlall.py,編寫代碼:ui
from scrapy.commands import ScrapyCommand class Command(ScrapyCommand): requires_project = True def syntax(self): return "[options]" def short_desc(self): return "Run all of the spiders" # 自定義命令描述 def run(self, args, opts): spider_list = self.crawler_process.spiders.list() # 獲取爬蟲列表 for name in spider_list: # 循環列表,對每一個爬蟲進行爬取。也能夠對列表中的爬蟲進行篩選,根據本身的需求爬取想要的 self.crawler_process.crawl(name, **opts.__dict__) self.crawler_process.start()
三、在settings.py中添加配置:COMMANDS_MODULE = "項目名.目錄名"url
如:COMMANDS_MODULE = "myspider.spiders.commands"spa
四、在終端輸入:scrapy crawlall --nolog 便可運行 (crawlall是步驟2中你新建的py文件名)code
目錄結構
└─myspider │ items.py │ middlewares.py │ pipelines.py │ settings.py │ __init__.py │ ├─spiders │ │ zhihu.py │ │ __init__.py │ │ │ ├─commands │ │ │ crawlall.py │ │ │ │ │ └─__pycache__ │ │ crawlall.cpython-36.pyc │ │ │ └─__pycache__ │ zhihu.cpython-36.pyc │ __init__.cpython-36.pyc │ └─__pycache__ items.cpython-36.pyc pipelines.cpython-36.pyc settings.cpython-36.pyc __init__.cpython-36.pyc