#! python3
# -*- coding:utf8 -*-
#主要为读取excel中接口地址,打开网页爬取url页面中数据,解析json,检查是否符合逻辑(正常)
import requests,json,openpyxl,time
from pprint import pprint
wb=openpyxl.load_workbook('C:\\Users\\li.wu\\Desktop\\盈利宝更新情况.xlsx')
sheet=wb.get_sheet_by_name('接口更新查看')
datas=[[] for i in range(30)]
n=0
print('****** --------- 开始读取Excel数据: ------- ! **** ' )
for rowNm in sheet['A10':'D38']:
if rowNm[0].value ==None:
break
for j in rowNm:
datas[n].append(j.value)
print((n+1),' ',datas[n][1])
n+=1
print('\n---------',n," 为已读取数据行数。 excel数据读取完毕,读取网络数据结果展示开始 !------------ \n")
print('接口类型','接口名 ','查看字段','字段值')
for i in range(n):
if datas[i][3] != None :
#print(datas[i][3])
try:
hml=requests.get(datas[i][3])
except :
print(datas[i][3],'这是捕获的抛出错误')
raise
time.sleep(1)
if hml.status_code == requests.codes.ok :
#tx=json.loads(hml.text)
tx=hml.json()
if len(tx)==0:
print((i+1),datas[i][0],datas[i][3]," \n-----此链接数据为空& this url's data is None !!! ----------此链接数据为空---------!")
elif isinstance(tx,dict):
if datas[i][2]==None:
print('%s * %s : %s ' % ((i+1),datas[i][0],datas[i][1]))
pprint(tx['rows'][0])
else:
print((i+1),datas[i][0],datas[i][1],datas[i][2],tx['rows'][0][datas[i][2].strip()],'\n')
else:
if datas[i][2]==None:
print('%s * %s : %s ' % ((i+1),datas[i][0],datas[i][1]))
pprint(tx[0])
else:
print( (i+1),datas[i][0],datas[i][1],datas[i][2],tx[0][datas[i][2].strip()],'\n')
else :
print((i+1),datas[i][0],datas[i][1],datas[i][3]," \n-----此链接响应失败& this url's FALL !!! ----------此链接响应失败---------!")