使用python脚本实现自动化下载后台报表,涉及到自动登录后台,并自动获取报表的查询字段来更新数据库对应table的表格下载。
后续功能:对下载的报表进行处理,比如对无用字段的清洗,表头删除等,最后导入mysql数据库。
思路:
1. 自动登录
通过抓包获取HTTPS的响应,使用requests库来提交登录信息,获取到登录后的token。
2. 查询字段
对本地数据库进行对应表格的查询,获取数据最后导入的时间,并在此时间基础上+1s作为报表下载的起始查询时间。需引入pymysql库。
3. 下载报表
依然使用requests进行请求,谷歌浏览器进行抓包,获取到对应报表下载的请求地址,字段,值的数据类型。
这里引入urllib库的parse,主要用于对字符串的url编码。毕竟通过url方式提交。
代码:
import json
import requests
import time
from urllib.parse import urlencode
import pymysql
def run_query(conn, query):
'''
:param conn: 数据库连接
:param query: str, query 语句
:return: tuple,查询结果
'''
cur = conn.cursor()
cur.execute(query)
conn.commit()
re = cur.fetchall()
cur.close()
conn.clo