利用此脚本可以一键启动scrapy框架下spiders爬虫文件夹下的多个爬虫,按道理也是可以启动多个单独爬虫脚本的(没用框架),希望对您有帮助。
1.获取需要爬取脚本文件名
2.获取爬虫名
3.启动
废话不多说,直接上代码
import os
import re
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
process = CrawlerProcess(get_project_settings())
from time import sleep
def file_name(file_dir):#此函数用于获取爬虫文件的文件名
file_list = []
for root, dirs, files in os.walk(file_dir):
# print(root) # 当前目录路径
# print(dirs) # 当前路径下所有子目录
# print(files) # 当前路径下所有非目录子文件
for file in files:
if os.path.splitext(file)[1] == '.py':
file_list.append(os.path.join(root, file))
return file_list
files = (file_name('此处填写您的文件路径'))
def getSpiderName(): #此函数用于获取爬虫名
spiderName = []
for file in files:
with open(file,"r",encoding="gbk",errors='ignore') as f:
fileContent = f.read(512)
name = re.findall("name[\s+]*=[\s+]*\'(.*?)\'",fileContent)
if name:
spiderName.append(name[0])
else:
name = re.findall("name[\s+]*=[\s+]*\"(.*?)\"", fileContent)
if name:
spiderName.append(name[0])
else:
print(file)
return spiderName
spiderName = getSpiderName() #获取爬虫名列表
for spider in spiderName:
process.crawl(spider) #根据爬虫名列表爬取
process.start() #启动爬虫进程
用CrawlerProcess进程一键启动多个scrapy爬虫脚本(原创)
最新推荐文章于 2025-03-05 10:22:08 发布
