脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页脚本专栏python→ python爬虫MeterSphere

python爬虫MeterSphere平台执行报告使用实战

  更新时间:2023年12月25日 11:08:25  作者:友友测试猿,小蔡 
这篇文章主要为大家介绍了python爬虫MeterSphere平台执行报告使用实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、场景下API信息获取

1、通过商业id已获取到每个场景下id,我们通过场景id进行访问当前场景下的API,每个场景下面都会包含很多api,这时我们通过遍历进行获取。

2、获取到数据还是通过正则进行过滤处理。

#遍历每个场景下API
for TestReporTGGet in range(0, TestReporTgCount001):
TestReporTGName = TestReporTG[TestReporTGGet]
# print(TestReporTGName,"类型是:",type(TestReporTGName))
# 特殊符号过滤
TestReporTGNameFiltration = re.sub('['!"#$%&\'()*+,./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~\s]+', "",
TestReporTGName)
# 特殊\斜杆过滤
TestReporTGNameFiltration01 = re.sub(r'\\', "", TestReporTGNameFiltration)
# 获取响应体url
ResponseUrl = "http://ms.***.*****:****/api/scenario/report/selectReportContent/" + TestReporTGNameFiltration01
print("场景下节点地址:"+ResponseUrl)
ResponseUrlResp = requests.get(url=ResponseUrl, headers=TestReportHeaders)
ResponseUrlResp.encoding = "utf-8"
#print(ResponseUrlResp.text)
ResponseUrlRespGet = ResponseUrlResp.text
# 获取每个流程节点名字,进行过滤
TestResponseResp = re.findall('","name":"(.+?)",', ResponseUrlRespGet)
TestResponseRespGet=str(TestResponseResp)
TestResponseRespGetFiltration=re.sub('[a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~\s]+', "", TestResponseRespGet)
print("根节点处理报告名称:" + TestResponseRespGetFiltration)
#获取根节点成功或失败
RootNodeSucceed=re.findall('"pass":(.+?)}]}}}',ResponseUrlRespGet)
RootNodeSucceedGet=str(RootNodeSucceed)
print("根节点失败或成功状态标识:"+RootNodeSucceedGet)
#定义局部变量,状态转译使用
#if
#获取根节点返参数据
#ReturnParameter=re.findall('"vars":"(.+?)}]}}}',ResponseUrlRespGet)
#ReturnParameter=re.findall('"data":(.+?)}}}',ResponseUrlRespGet)
#ReturnParameterGet=str(ReturnParameter)
# 获取根节点返参数据
ReturnParameter=re.findall('"body":"{(.+?)]}}}',ResponseUrlRespGet)
ReturnParameterGet=str(ReturnParameter)
ReturnParameterGettest=re.sub(r'\\', "", ReturnParameterGet)
print("过滤后的报文字段"+ReturnParameterGettest)
#print("长度:" + len(ReturnParameterGet))
Namenge_list = list(ReturnParameterGet)
#print("长度:" + len(Namenge_list))
is_contain_ch29 = '"error":0' in ResponseUrlRespGet
# 获取根节点状态码
# RootState=re.findall('"responseCode":"(.+?)","',ResponseUrlRespGet)
# RootStateGet=str(RootState)
# print("根节点状态码;"+RootStateGet)
#获取投保单号
InsureGain=re.findall('proposalNo:(.+?)nqueryCode',ResponseUrlRespGet)
InsureGainGet=str(InsureGain)
InsureGainGetDispose=re.sub('['!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~\s]+', "",InsureGainGet)
InsureGainGetDispose01=re.sub(r'\\', "",InsureGainGetDispose)
print("投保单号:",InsureGainGetDispose01)
#获取报价单号
PriceSheet=re.findall('quotationNo:(.+?)nquotationNo1:',ResponseUrlRespGet)
PriceSheetGet=str(PriceSheet)
PriceSheetGetDispose=re.sub('['!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~\s]+', "",PriceSheetGet)
PriceSheetGetDispose01=re.sub(r'\\', "",PriceSheetGetDispose)
print("报价单号:",PriceSheetGetDispose01)
#获取orderMessageList
orderMessageList=re.findall('"assertions":(.+?)"pass":true',ResponseUrlRespGet)
orderMessageListGet=str(orderMessageList)
print("获取orderMessageList:",orderMessageListGet)
print("===============================================================================")
#print("根节点返参:"+ReturnParameterGet)
print("是否为:",is_contain_ch29)
print("根节点的接口:"+ReportParticularsUrl)
print("===============================================================================")

二、前期爬虫工作已完成后我们主要进行存储处理

1、读取前面自动生成表格,进行定位。

2、 is_contain_ch29 = '"error":0' in ResponseUrlRespGet 主要判断此节点执行结果为成功还是失败,这里可以通过ms里面设定成功值进行去判断。

# 读取原表格
workbook = xlrd.open_workbook("autoinsurancereport.xls")
# 获取原表格第一个sheet的名字(我这里只有1个sheet)
all_sheet = workbook.sheet_names()
first_sheet = workbook.sheet_by_name(all_sheet[0])
# 获取原表格第一个sheet写入数据的行数
rows = first_sheet.nrows
# 拷贝新的excel,并从rows行开始追加写入
new_workbook = copy(workbook)
new_sheet = new_workbook.get_sheet(0)
# 创建标题
new_sheet.write(0, 0, "场景") # 场景
new_sheet.write(0, 1, "报告名称") # 报告名称
new_sheet.write(0, 2, "接口") # 接口
new_sheet.write(0, 3, "返回状态码") # 返回状态码
new_sheet.write(0, 4, "投保单号") # 投保单号
new_sheet.write(0, 5, "报价单号") # 报价单号
new_sheet.write(0, 6, "状态") # 报价单号
new_sheet.write(0, 7, "orderMessageList") # 报价单号
new_sheet.write(0, 8, "路径") # 路径
new_sheet.write(0, 9, "文档记录时间") # 报价单号
# (行,列,值)
new_sheet.write(rows, 0, GetSceneNameGain) # 场景
new_sheet.write(rows, 1, TestResponseRespGetFiltration) # 报告名称
new_sheet.write(rows, 2, ReportParticularsUrl) # 接口
new_sheet.write(rows, 3, GetStateGain) # 返回状态码
new_sheet.write(rows, 4, InsureGainGetDispose01) # 投保单号
new_sheet.write(rows, 5, PriceSheetGetDispose01) # 报价单号
if is_contain_ch29 == True:
new_sheet.write(rows, 6, "成功") # 状态
new_sheet.write(rows, 8, "  ") # 返回报文
else:
print("ReturnParameterGettest长度为:",len(ReturnParameterGettest))
if len(ReturnParameterGettest)<=32000:
new_sheet.write(rows, 8, ReturnParameterGettest) # 返回报文
else:
new_sheet.write(rows, 8, "执行失败,报文较长,文档无法进行存储") # 返回报文
new_sheet.write(rows, 6, "失败或未执行") # 状态
new_sheet.write(rows, 7, orderMessageListGet) # orderMessageList
new_sheet.write(rows, 9, str(current_time)) # 当前系统时间
new_workbook.save("autoinsurancereport.xls")

上一篇《使用python爬虫MeterSphere平台执行报告篇(二)》

以上就是python爬虫MeterSphere平台执行报告使用实战的详细内容,更多关于python爬虫MeterSphere的资料请关注脚本之家其它相关文章!

相关文章

    • 这篇文章主要介绍了在Python中用has_key()方法查找键是否存在的教程,是Python入门学习中的基础知识,需要的朋友可以参考下
      2015-05-05
    • 本文主要介绍了Python自动发邮件脚本的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
      2017-03-03
    • 这篇文章主要介绍了利用python 更新ssh 远程代码 操作远程服务器的实现代码,需要的朋友可以参考下
      2018-02-02
    • 这篇文章主要介绍了django中ImageField的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2020-12-12
    • 一般来说,保存模型是把参数全部用model.cpu().state_dict(),然后加载模型时一般用model.load_state_dict(torch.load(model_path)),下面这篇文章主要给大家介绍了关于pytorch模型保存与加载中的一些问题实战记录,需要的朋友可以参考下
      2022-10-10
    • 下面小编就为大家带来一篇Python3 适合初学者学习的银行账户登录系统实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2017-08-08
    • 这篇文章主要介绍了python模拟哔哩哔哩滑块登入验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2020-04-04
    • 这篇文章主要介绍了Python使用tkinter加载png、jpg等图片,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
      2021-04-04
    • 在本篇文章里小编给大家整理的是一篇关于python中entry用法讲解内容,有兴趣的朋友们可以学习参考下。
      2020-12-12
    • Python语言有许多优点,常用于不同的领域,如数据科学、web开发、自动化运维等。本文将学习如何使用字符串中内置的方法来格式化字符串,感兴趣的可以了解一下
      2022-06-06

    最新评论