python爬虫MeterSphere平台执行报告流程解析

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

流程

  •     1、访问地址,请求头,请求体,请求方式
  •     2、数据处理
  •     3、数据过滤
  •     4、数据存储

导入模块

import requests
import re
import time
import datetime
from xlrd import open_workbook
from xlutils.copy import copy
import xlrd
from openpyxl import load_workbook
import os
import random
import xlwt
第一模块(使用rquest爬虫):
##登录地址
LoginUrl="http://ms.***.****:****/signin"
headers={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64)"
    " AppleWebKit/537.36 (KHTML, like Gecko)"
        "Chrome/86.0.****.**** Safari/537.36",
      "Content-Type":"application/json"
}
#请求参数
data ={
        "username": "登录账号",
        "password": "登录密码",
        "authenticate": "LOCL"
}
#向指定的URL发送POST请求
Loginresp=requests.post(url=LoginUrl,json=data,headers=headers)
Loginresp.encoding="utf-8"
stattus=Loginresp.status_code
LogsReturn=Loginresp.text #返参
print(type(LogsReturn))
#print("状态码",stattus)
#print("返参",Loginresp.text)
#print(Loginresp.headers)

requests自带获取cookie方法,一般系统都有反爬虫机制,这个得根据每个系统不同情况判断,我们这里所用到的是正则表达,将请求头全部截获下来进行过滤处理

第二个模块(使用正则过滤)

#cookie
HeadersCookie = str(Loginresp.headers)
HeadersCookieGet = re.findall("'Set-Cookie': '(.+?);", HeadersCookie)
HeadersCookieSwitch=str(HeadersCookieGet)
CookieName = re.sub('['!"#$%&\'()*+,./:;<>?@,。?★、…【】《》?“”‘'![\\]^`{|}~\s]+', "",HeadersCookieSwitch)
#浏览器(lastProjectId),信息头(PROJECT)
LogsReturnPROJECT=re.findall('"lastProjectId":"(.+?)"',LogsReturn)
LogsReturnPROJECTSwitch=str(LogsReturnPROJECT)
LogsReturnPROJECTName = re.sub('['!"#$%&\'()*+,./:;<>?@,。?★、…【】《》?“”‘'![\\]^`{|}~\s]+', "", LogsReturnPROJECTSwitch)
# 浏览器(lastWorkspaceId),信息头(WORKSPACE)
LogsReturnWORKSPACE=re.findall('"lastWorkspaceId":"(.+?)"',LogsReturn)
LogsReturnWORKSPACESwitch=str(LogsReturnWORKSPACE)
LogsReturnWORKSPACESName=re.sub('['!"#$%&\'()*+,./:;<>?@,。?★、…【】《》?“”‘'![\\]^`{|}~\s]+', "", LogsReturnWORKSPACESwitch)
# 浏览器(csrfToken),信息头(CSRF-TOKEN)
LogsCsrfToken=re.findall('"csrfToken":"(.+?)"',LogsReturn)
LogsCsrfTokenwitch=str(LogsCsrfToken)
LogsCsrfTokenName=re.sub('['!"#$%&\'()*,.:;<>?@,。?★、…【】《》?“”‘'![\\]^`{|}~\s]+', "",LogsCsrfTokenwitch)
print("======================================================")

登录成功后我们通过访问首页报告信息,查找报告详情请求规律,一般每个首页报告都包含了一条唯一id,唯一id对应每条报告详情地址最后路径

第三个模块(爬虫报告所有场景唯一值)

# 测试报告
TestReportUrl = "http://ms.***.****:****/api/scenario/report/list/1/60"
TestReportHeaders = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
    "Accept": "application/json, text/plain, */*",
    "Accept-Encoding":"gzip, deflate",
    "Accept-Language":"zh-CN,zh;q=0.9",
    "Connection":"keep-alive",
    "Content-Length":"2525",
    "Content-Type":"application/json",
    "Cookie": CookieName,
    "CSRF-TOKEN":LogsCsrfTokenName,
    "Host":"ms.cic.****:****",
    "Origin":"http://ms.***.*****:****",
    "PROJECT":LogsReturnPROJECTName,
    "Referer":"http://ms.***.*****:****/",
    "WORKSPACE":LogsReturnWORKSPACESName
}
#TestReportDateGet=
#print(TestReportDateGet)
TestReportDate = {
    "projectId": "5072ac88-****-43ed-835b-93e3864f****"
}
#测试报告首页
TestReportResp = requests.post(url=TestReportUrl,json=TestReportDate, headers=TestReportHeaders)
TestReportResp.encoding = "utf-8"
TestReporReturn=TestReportResp.text

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

相关文章

  • Python基于BeautifulSoup和requests实现的爬虫功能示例

    Python基于BeautifulSoup和requests实现的爬虫功能示例

    这篇文章主要介绍了Python基于BeautifulSoup和requests实现的爬虫功能,结合实例形式分析了Python使用BeautifulSoup和requests库爬取网站指定信息的相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • Python基础之字符串常见操作经典实例详解

    Python基础之字符串常见操作经典实例详解

    这篇文章主要介绍了Python基础之字符串常见操作,结合实例形式详细分析了Python字符串操作基本函数、功能、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 使用Python实现MapReduce的示例代码

    使用Python实现MapReduce的示例代码

    MapReduce是一个用于大规模数据处理的分布式计算模型,最初由Google工程师设计并实现的,Google已经将完整的MapReduce论文公开发布了,本文给大家介绍了使用Python实现MapReduce的示例代码,需要的朋友可以参考下
    2024-05-05
  • python Multiprocessing.Pool进程池模块详解

    python Multiprocessing.Pool进程池模块详解

    multiprocessing模块提供了一个Process类来代表一个进程对象,multiprocessing模块像线程一样管理进程,这个是multiprocessing的核心,它与threading很相似,对多核CPU的利用率会比threading好的多
    2022-10-10
  • pytorch+sklearn实现数据加载的流程

    pytorch+sklearn实现数据加载的流程

    这篇文章主要介绍了pytorch+sklearn实现数据加载,之前在训练网络的时候加载数据都是稀里糊涂的放进去的,也没有理清楚里面的流程,今天整理一下,加深理解,也方便以后查阅,需要的朋友可以参考下
    2022-11-11
  • python编程线性回归代码示例

    python编程线性回归代码示例

    这篇文章主要介绍了python编程线性回归代码示例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • python切片复制列表的知识点详解

    python切片复制列表的知识点详解

    在本篇文章里小编给大家整理的是一篇关于python切片复制列表的知识点相关内容,有兴趣的朋友们可以跟着学习下。
    2021-10-10
  • Python中常见的矩阵运算详解

    Python中常见的矩阵运算详解

    这篇文章主要介绍了Python中常见的矩阵运算详解,所谓的数据处理,其本质大都可以归为矩阵运算,因为需要处理的数据大都是矩阵或向量的形式,一个工具适不适合做数据处理,一个重要的指标的就是支不支持矩阵运算,需要的朋友可以参考下
    2023-08-08
  • 解决Django部署设置Debug=False时xadmin后台管理系统样式丢失

    解决Django部署设置Debug=False时xadmin后台管理系统样式丢失

    这篇文章主要介绍了解决Django部署设置Debug=False时xadmin后台管理系统样式丢失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 基于Python开发PDF转PNG的可视化工具

    基于Python开发PDF转PNG的可视化工具

    在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转PNG工具,需要的可以参考下
    2025-03-03

最新评论