py_spider.py
@@ -2,10 +2,9 @@
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
@@ -22,19 +21,17 @@
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 ={
                # 反馈信息
@@ -51,24 +48,22 @@
            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 '写入完成!'
@@ -88,25 +83,18 @@
# 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")