几行代码教你快速创建scrapy项目,非常实用建议收藏!

2023-06-05,,

import shutil,os

修改settings.py
def config(scrapy_path,project_name):
judge=input("是否自动修改配置?是:yes|y 否:no|n\n请选择:")
if judge=='yes'or judge=='y'or judge== '是':
setting_path=f'{scrapy_path}/{project_name}/{project_name}/settings.py'
#修改items配置
with open(setting_path,"rt+",encoding="utf-8") as fp:
lines=fp.readlines()
for i in range(len(lines)):
lines[i]=lines[i].replace('ROBOTSTXT_OBEY = True','ROBOTSTXT_OBEY = False')
if "ITEM_PIPELINES" in lines[i] or "DOWNLOADER_MIDDLEWARES" in lines[i]:
lines[i]=lines[i].strip('# ')
lines[i+1] = lines[i+1].strip('# ')
lines[i+2] = lines[i+2].strip('# ')
with open(setting_path,"wt+",encoding="utf-8") as fp:
text="from fake_useragent import UserAgent\nua=UserAgent()\nUSER_AGENT = ua.ie\nLOG_LEVEL='ERROR'\n"
fp.write(text)
for line in lines:
fp.write(line)
print("配置成功")
else:
print("默认配置")

def INPUT():
project_name=input("请输入scrapy项目名:").split()[0]
spider_name = input("请输入爬虫名称:").split()[0]
if project_name==spider_name:
print('项目名和爬虫名不能相同,请重新输入!')
os.system('cls')
return INPUT()
else:
main_url = input("请输入网址:").split()[0]
name = {
'project_name': project_name,
'spider_name': spider_name,
'main_url':main_url,
}
return name

#创建主体项目文件
def start_project(scrapy_path,project_name,spider_name,main_url):
# 创建scrapy工程
man1 = f'scrapy startproject {project_name}'
os.system(man1)
# 创建爬虫文件
man2 = f'scrapy genspider {spider_name} {main_url}'
os.system(man2)
# 移动爬虫文件
shutil.move(f'{scrapy_path}/{spider_name}.py',
f'{scrapy_path}/{project_name}/{project_name}/spiders/{spider_name}.py')
# 创建主文件
with open(f'{scrapy_path}/{project_name}/main.py', "w+", encoding="utf-8") as fp:
text = f"from scrapy import cmdline\ncmdline.execute('scrapy crawl {spider_name}'.split())"
fp.write(text)
print("scrapy框架创建成功!".strip())

if __name__ == "__main__":
scrapy_path = os.getcwd()
name=INPUT()
project_name =name['project_name']
spider_name =name['spider_name']
main_url=name['main_url']
start_project(scrapy_path,project_name,spider_name,main_url)
config(scrapy_path, project_name)
#文件介绍
#该框架默认创建在该py文件下
#mian.py可直接执行scrapy框架,不用输入繁琐的cmd命令
#直接对框架中的文件进行修改即可

几行代码教你快速创建scrapy项目,非常实用建议收藏!的相关教程结束。

《几行代码教你快速创建scrapy项目,非常实用建议收藏!.doc》

下载本文的Word格式文档,以方便收藏与打印。