Scrapy 執行爬蟲檔案批量

2021-09-01 20:42:55 字數 1337 閱讀 5690

」吧~

1.使用修改 crawl 原始碼 + 自定義命令方式實現

2.建立專案:scrapy startproject mymultispd

3.進入專案檔案建立多個爬蟲檔案:scrapy genspider -t basic myspd1 sina.com.cn

scrapy genspider -t basic myspd2 sina.com.cn

scrapy genspider -t basic myspd3 sina.com.cn

4.crawl.py 中的源 run() 方法

def run(self, args, opts):

if len(args) < 1:

raise usageerror()

elif len(args) > 1:

raise usageerror("running 'scrapy crawl' with more than one spider is no longer supported")

spname = args[0]

self.crawler_process.crawl(spname, **opts.spargs)

self.crawler_process.start()

if self.crawler_process.bootstrap_failed:

self.exitcode = 1

5.建立乙個資料夾存放要寫的原始碼檔案,位置放在 spider 同級目錄下:

6.修改 run() 方法後的**

def run(self, args, opts):

#獲取爬蟲列表

spd_loader_list = self.crawler_process.spider_loader.list()

#遍歷各爬蟲

for spname in spd_loader_list or args:

self.crawler_process.crawl(spname,**opts.spargs)

print('此時啟動的爬蟲為:' + spname)

self.crawler_process.start()

7.需要新增乙個自定義命令在專案配置檔案(settings.py),格式為『commands_module = '專案核心目錄.自定義命令原始碼目     錄'

commands_module = 'mymultispd.mycmd'
8.隨後進入該專案所在目錄,輸入 scrapy -h 可以看見自定義的命令 mycrawl

9.執行:scrapy mycrawl --nolog

Scrapy爬蟲檔案批量執行的實現

scrapy批量執行爬蟲檔案的兩種方法 1 使用crawprocess實現 2 修改craw原始碼 自定義命令的方式實現 1www.cppcns.com 我們開啟scrapy.commands.crawl.py 檔案可以看到 def run self,args,opts if len args 1 ...

Scrapy 執行多個爬蟲spider檔案

1.在專案資料夾中新建乙個commands資料夾 2.在command的資料夾中新建乙個檔案 crawlall.py 3.在crawlall.py 中寫乙個command類,該類繼承 scrapy.commands from scrapy.commands import scrapycommand ...

檔案批量重新命名

今天遇到乙個問題,有一批檔案,需要修改字尾名,還要將前面的部分字元刪除,首先想到重新命名命令 ren 試了幾次,無法實現需求,只能,批處理了。在網上查了一下,寫了個,將字尾為.doc.doc的該為只有乙個.doc echo off setlocal enabledelayedexpansion 開啟...