@@ -49,14 +49,16 @@ def cover_to_underline(self, key):
4949 return key
5050
5151 def get_spider_template (self , spider_type ):
52- if spider_type == 1 :
52+ if spider_type == "AirSpider" :
5353 template_path = "air_spider_template.tmpl"
54- elif spider_type == 2 :
54+ elif spider_type == "Spider" :
5555 template_path = "spider_template.tmpl"
56- elif spider_type == 3 :
56+ elif spider_type == "TaskSpider" :
57+ template_path = "task_spider_template.tmpl"
58+ elif spider_type == "BatchSpider" :
5759 template_path = "batch_spider_template.tmpl"
5860 else :
59- raise ValueError ("spider type error, support 1 2 3 " )
61+ raise ValueError ("spider type error, only support AirSpider、 Spider、TaskSpider、BatchSpider " )
6062
6163 template_path = os .path .abspath (
6264 os .path .join (__file__ , "../../../templates" , template_path )
@@ -66,26 +68,24 @@ def get_spider_template(self, spider_type):
6668
6769 return spider_template
6870
69- def create_spider (self , spider_template , spider_name ):
71+ def create_spider (self , spider_template , spider_name , file_name ):
7072 spider_template = spider_template .replace ("${spider_name}" , spider_name )
73+ spider_template = spider_template .replace ("${file_name}" , file_name )
7174 spider_template = deal_file_info (spider_template )
7275 return spider_template
7376
74- def save_spider_to_file (self , spider , spider_name ):
75- spider_underline = self .cover_to_underline (spider_name )
76- spider_file = spider_underline + ".py"
77-
78- if os .path .exists (spider_file ):
79- confirm = input ("%s 文件已存在 是否覆盖 (y/n). " % spider_file )
77+ def save_spider_to_file (self , spider , spider_name , file_name ):
78+ if os .path .exists (file_name ):
79+ confirm = input ("%s 文件已存在 是否覆盖 (y/n). " % file_name )
8080 if confirm != "y" :
8181 print ("取消覆盖 退出" )
8282 return
8383
84- with open (spider_file , "w" , encoding = "utf-8" ) as file :
84+ with open (file_name , "w" , encoding = "utf-8" ) as file :
8585 file .write (spider )
8686 print ("\n %s 生成成功" % spider_name )
8787
88- if os .path .basename (os .path .dirname (os .path .abspath (spider_file ))) == "spiders" :
88+ if os .path .basename (os .path .dirname (os .path .abspath (file_name ))) == "spiders" :
8989 self ._create_init .create ()
9090
9191 def create (self , spider_name , spider_type ):
@@ -94,8 +94,12 @@ def create(self, spider_name, spider_type):
9494 print ("爬虫命名不符合规范,请用蛇形或驼峰命名方式" )
9595 return
9696
97- if spider_name .islower ():
98- spider_name = tools .key2hump (spider_name )
97+ underline_format = self .cover_to_underline (spider_name )
98+ spider_name = tools .key2hump (underline_format )
99+ file_name = underline_format + ".py"
100+
101+ print (spider_name , file_name )
102+
99103 spider_template = self .get_spider_template (spider_type )
100- spider = self .create_spider (spider_template , spider_name )
101- self .save_spider_to_file (spider , spider_name )
104+ spider = self .create_spider (spider_template , spider_name , file_name )
105+ self .save_spider_to_file (spider , spider_name , file_name )
0 commit comments