# 创建scrapy项目shell脚本
# 1. scrapy startproject 项目名(项目名如果不符合要求,scrapy本身会报异常,创建失败,为了增加效率,提前正则验证)
# 2. cd 项目名
# 3. scrapy genspider 爬虫名 域名 或 规则爬虫:scrapy genspider -t crawl 爬虫名 域名
# 注意项目名必须以字母开头,只能包含字母、数字、下划线,爬虫名和域名没要求,但是增加了爬虫名的验证
import os
import re
while True:
print("-------scrapy框架创建第一步-------")
while True:
projectName = input("请输入字母开头项目名:(字母、数字、下划线)")
projectName = projectName.strip()
patt = re.compile(r'^[a-zA-Z]+[a-zA-Z0-9_]*$')
re_projectName = re.findall(patt, projectName)
if re_projectName:
break
else:
print("项目名输入有误,请重试!")
continue
# 成功创建返回0,否则返回1
s = os.system('scrapy startproject '+ projectName)
if s == 0:
# 进入到项目名
os.chdir(os.path.join(os.getcwd(), projectName))
while True:
print("-------scrapy框架创建第二步-------")
while True:
spiderName = input("请输入字母开头爬虫名(字母、数字、下划线):")
spiderName = spiderName.strip()
# patt = re.compile(r'[a-zA-Z0-9_]')
patt = re.compile(r'^[a-zA-Z]+[a-zA-Z0-9_]*$')
re_name = re.findall(patt,spiderName)
if re_name:
break
else:
print("爬虫名输入有误,请重试!")
continue
while True:
domainName = input("请输入域名:")
domainName = domainName.strip()
if domainName:
break
else:
print("域名不能为空!")
continue
s = os.system("scrapy genspider " + spiderName + " " + domainName)
print("scrapy genspider " + spiderName + " " + domainName)
if s == 0:
break
else:
continue
print("项目[%s]创建完毕,目录为:%s"%(projectName,os.getcwd()))
break
else:
continue
input("请按回车键退出!") # 生成可执行文件需要
以上创建完毕可以看使用pyinstaller生成可执行文件,使用方法:https://blog.csdn.net/z564359805/article/details/80875895
pyinstaller -F XXX.py