需要的python 安装包:
pip install requests
pip install pandas
一、通过requests 获取网页json数据
url = 'http://192.168.1.194:8090/xxxxx'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Content-Type': 'application/x-www-form-urlencoded',
'Cookie': 'JSESSIONID=xxxxx2962268ECA4492A85BC0D28A6D302F81'}
data ={
"variableParameter": "2023-7-30-9-15-29-0.44465593920191004",
"equipTypeIdFromTree": "",
"flag": "",
"doSearchFlag": "true",
"searchType": "0",
"keyWord": "",
"pageNumber": "1",
"pageSize": "30"
} #post参数
r = requests.post(url, headers=headers, data= data)
r= r.json() #提取json数据
二、生成pandas对象,并保存为cvs和excel文件
df = pd.DataFrame(r['rows'], columns=['isYB','streamTime','equipName','isT','equipTypeCode','operationTime','ownTeam','remarks','equipCode','equipTypeId','epuiqParameter','equipId','level','totalMiles','totalRunTime','tname','supplyCorp','stockState','workState','sequenceCode','accountTypeId','operationPerson']) #提取r中rows,生成DataFrame对象
pattern = re.compile("title = '(.+?)' onclick") #提取json中需要数据
equipName = list(df['equipName']) #获取equipname列数数据并生成列表
equipName2 = [pattern.findall(i)[0] for i in equipName] #提取equipname列数据
df = df.drop('equipName', axis=1) #删除原来的equipname列
col_name = df.columns.tolist() # 将数据框的列名全部提取出来存放在列表里
col_name.insert(3, '设备名称') # 第四列处插入一列设备名称
#del df['equipName'] #清空此列数据
df = df.reindex(columns=col_name) # 对原行/列索引重新构建索引值
df['设备名称'] = equipName2
#print(df)
df.to_csv('test.csv', encoding='utf-8') #保存为csv文件
df.to_excel('test.xls', encoding='utf-8',index=None) # 保存为excel文件,index列不生成
如果不需要队json中数据进行处理,第二步直接保存为excel就可以了
df = pd.DataFrame(r) #生成DataFrame对象
df.to_excel('test.xls', encoding='utf-8',index=None)```