| | |
| | | from flask_cors import CORS |
| | | |
| | | import sys |
| | | # sys.path.append('D:\\z\workplace\\VsCode\\pyvenv\\venv') |
| | | sys.path.append('../') |
| | | |
| | | import src.Crawling as Crawling |
| | | import src.Crawling_1 as Crawling |
| | | import src.auto_login as login |
| | | import pandas as pd |
| | | from sqlalchemy import create_engine |
| | |
| | | |
| | | session = -1 |
| | | |
| | | |
| | | # 模拟登陆并爬取数据 |
| | | @app.route('/getData',methods=['POST']) |
| | | def get_data(): |
| | | if request.method == 'POST': |
| | | data=request.get_json() |
| | | if(session != -1) : |
| | | # if(len(session.cookies.get_dict()) == 0): |
| | | # # session失效 |
| | | # return '-2' |
| | | |
| | | result,all_data=Crawling.pass_login(session,data.get('beginTime'),data.get('endTime'),data.get('selectedShopNames')) |
| | | print('\n\n爬取的所有的allData\n',all_data) |
| | | duplicate_data,new_data=is_duplicate(all_data) |
| | | # if(len(duplicate_data)==0): |
| | | # duplicate_data.append('无重复数据') |
| | | print('重复的数据为:',duplicate_data) |
| | | jso ={ |
| | | # 反馈信息 |
| | |
| | | return '-1' |
| | | return jsonify(jso) |
| | | |
| | | # 写入数据库 写入4张表中 |
| | | # 对数据进行异常分析,将结果写入异常表,设备信息表,分钟数据表 |
| | | @app.route('/store',methods=['POST']) |
| | | def write_new(): |
| | | if request.method =='POST': |
| | | data = request.get_json() |
| | | # print('data为:',data.get('allData')) |
| | | # print('要存入的数据条数为:',len(data.get('allData'))) |
| | | |
| | | # 写入数据库 |
| | | w_t_MySql.write(data.get('allData')) |
| | | return '写入完成!' |
| | | |
| | | # 写入数据库 只写入分钟数据表 |
| | | |
| | | # 只写入分钟数据表 |
| | | @app.route('/minute',methods=['POST']) |
| | | def write_dup(): |
| | | if request.method =='POST': |
| | | data = request.get_json() |
| | | # print('data为:',data.get('allData')) |
| | | # print('要存入的数据条数为:',len(data.get('allData'))) |
| | | # 写入数据库 |
| | | w_t_minute.write(data.get('allData')) |
| | | return '写入完成!' |
| | |
| | | # lst为要和数据库已存的数据进行比较,lst元素只需要3个字段。 返回值是重复的数据 |
| | | def is_duplicate(lst): |
| | | temp=copy.deepcopy(lst) |
| | | # print('temp',temp) |
| | | # print('\n') |
| | | # 只保存3个字段 |
| | | after_address=[] |
| | | for item in temp: |
| | | # print('item',item) |
| | | # print('\n') |
| | | a=[] |
| | | # 店铺名和设备编号 |
| | | a.append(item[1]) |
| | | # print('item1',item[1]) |
| | | # print('\n') |
| | | |
| | | a.append(item[2]) |
| | | # 归属时间 |
| | | time=str(item[11])+':00' |
| | | a.append(time) |
| | | # print('a',a) |
| | | # print('\n') |
| | | |
| | | after_address.append(a) |
| | | |
| | | engine = create_engine("mysql+pymysql://fumeRemote:feiyu2023@114.215.109.124:3306/fume?charset=utf8") |