爬虫(2)-Flask后端 -接口

爬虫(2)-Flask后端 -接口

存完数据之后,就是通过Python代码将其显示在页面上,并被前端调用,加载到前端界面。
这边采用flask框架。
大体形式可以参照 廖雪峰 Python中 web框架里的flask。
代码中先是查询了数据库的内容

def find(select1, select2):
    db, cursor = cur()
    data = show(cursor, 1000, select1, select2)
    db.commit()
    data_dict = {}
    data_list = []
    num = 0
    a = ['id', 'RecruitPostName', 'CountryName', 'LocationName', 'BGName', 'CategoryName', 'Responsibility_new',
         'LastUpdateTime',
         'Responsibility', 'Requirement', 'CategoryId']
    for i in data:
        num = num + 1
        one_dict = dict(zip(a, i))
        data_list.append(one_dict)
    data_dict['total'] = num
    data_dict['items'] = data_list
    option1 = {'40001': [{'value': '40001001', 'label': '技术研发类'},
                         {'value': '40001002', 'label': '质量管理类'},
                         {'value': '40001003', 'label': '技术运营类'},
                         {'value': '40001004', 'label': '安全技术类'},
                         {'value': '40001005', 'label': 'AI、算法与大数据'},
                         {'value': '40001006', 'label': '企管类'}],
               '40002': [{'value': '40002001', 'label': '设计类'},
                         {'value': '40002002', 'label': '游戏美术类'}],
               '40003': [{'value': '40003001', 'label': '产品类'},
                         {'value': '40003002', 'label': '游戏产品类'},
                         {'value': '40003003', 'label': '项目类'}],
               '40004': [{'value': '40004', 'label': '营销与公关'}],
               '40005': [{'value': '40005001', 'label': '销售类'},
                         {'value': '40005002', 'label': '客服类'}],
               '40006': [{'value': '40006', 'label': '内容'}],
               '40007': [{'value': '40007', 'label': '财务'}],
               '40008': [{'value': '40008', 'label': '人力资源'}],
               '40009': [{'value': '40009', 'label': '法律与公共策略'}],
               '40010': [{'value': '40010', 'label': '行政支持'}],
               '40011': [{'value': '40011', 'label': '战略与投资'}]}
    option = [{'value': '40001', 'label': '技术'},
              {'value': '40002', 'label': '设计'},
              {'value': '40003', 'label': '产品'},
              {'value': '40004', 'label': '营销与公关'},
              {'value': '40005', 'label': '销售、服务与支持'},
              {'value': '40006', 'label': '内容'},
              {'value': '40007', 'label': '财务'},
              {'value': '40008', 'label': '人力资源'},
              {'value': '40009', 'label': '法律与公共策略'},
              {'value': '40010', 'label': '行政支持'},
              {'value': '40011', 'label': '战略与投资'}]
    data_use = {'code': 20000, 'data': data_dict, 'option': option, 'option1': option1.get(select1)}
    return data_use

之后就是通过flask将数据显示在网页上作为接口

from flask import Flask, jsonify
from flask import request
import test

app = Flask(__name__)


class Config(object):
    DEBUG = True
    JSON_AS_ASCII = False


app.config.from_object(Config)


@app.route('/data', methods=['GET', 'POST'])
def tencent_data():
    select1=request.args.get('select')
    select2 = request.args.getlist('select_after[]')
    print(select2)
    data = test.find(select1,select2)
    return jsonify(data)


@app.route('/', methods=['GET', 'POST'])
def main():
    # data = {"code": 20000, "token": 1000000}
    return '

hello user

' @app.route('/user/login', methods=['GET', 'POST']) def loginone(): data = eval(request.data.decode()) username = data.get('username') password = data.get('password') old_password, token = test.login(username) if password == old_password: data = {"code": 20000,'data': { "token": token}} else: data = {"code": 20001, 'msg': '密码错误'} return jsonify(data) @app.route('/user/logout', methods=['GET', 'POST']) def loginout(): data = {"code": 20000, "data": "success"} return jsonify(data) @app.route('/user/info', methods=['GET', 'POST']) def logininfo(): data = request print(data) data = {"code": 20000, "data": {'name': 'hello', 'avatar': 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif'}} return jsonify(data) if __name__ == '__main__': app.run()

其中还有vue的登录,退出,以及信息反馈接口。以保证在vue-admin-template添加完代理后可以实现两个端口分离。

#查询user表数据
def login(name):
    db, cursor = cur()
    sql = "select password,token from user where username= %s"
    cursor.execute(sql, (name))
    password, token = cursor.fetchone()
    return password, token


查询login表数据

user表
数据库中保存的数据
之后的操作就是前端的修改了。

你可能感兴趣的:(flask,后端,爬虫,python)