python爬虫MeterSphere平台执行报告流程解析
作者:友友测试猿
这篇文章主要为大家介绍了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的资料请关注脚本之家其它相关文章!