这里主要是想写一个爬虫,因为SQLAlchemy和Manager管理项目比较爽,在此记录下。
程序结构如下
关键源码如下:
application.py
from flask import Flask
from flask_script import Manager
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
manager = Manager( app )
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:[email protected]/reptile_it1995"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
manager.py
from application import app, manager
from flask_script import Command, Server
from csdn import CSDN
manager.add_command( "runserver",Server( host = "0.0.0.0",use_debugger=True,use_reloader= True ) )
@Command
def runReptile():
csdn = CSDN()
csdn.run()
pass
manager.add_command("runReptile", runReptile)
def main():
manager.run()
if __name__ == "__main__":
try:
import sys
sys.exit(main())
except Exception as e:
import traceback
traceback.print_exc()
启动的时候通过如下命令:
python manager.py runReptile
这里在PyCharm中可以更好的设置,这样方便下断点:
main函数一般是放在manager.py里面的,带的参数为manager中添加的@Command,也就是runReptile