python爬蟲MeterSphere平臺執(zhí)行報告流程解析
流程
- 1、訪問地址,請求頭,請求體,請求方式
- 2、數(shù)據(jù)處理
- 3、數(shù)據(jù)過濾
- 4、數(shù)據(jù)存儲
導(dǎo)入模塊
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"
}
#請求參數(shù)
data ={
"username": "登錄賬號",
"password": "登錄密碼",
"authenticate": "LOCL"
}
#向指定的URL發(fā)送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("狀態(tài)碼",stattus)
#print("返參",Loginresp.text)
#print(Loginresp.headers)requests自帶獲取cookie方法,一般系統(tǒng)都有反爬蟲機(jī)制,這個得根據(jù)每個系統(tǒng)不同情況判斷,我們這里所用到的是正則表達(dá),將請求頭全部截獲下來進(jìn)行過濾處理
第二個模塊(使用正則過濾)
#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("======================================================")登錄成功后我們通過訪問首頁報告信息,查找報告詳情請求規(guī)律,一般每個首頁報告都包含了一條唯一id,唯一id對應(yīng)每條報告詳情地址最后路徑
第三個模塊(爬蟲報告所有場景唯一值)
# 測試報告
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平臺執(zhí)行報告流程解析的詳細(xì)內(nèi)容,更多關(guān)于python爬蟲MeterSphere的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python基于BeautifulSoup和requests實現(xiàn)的爬蟲功能示例
這篇文章主要介紹了Python基于BeautifulSoup和requests實現(xiàn)的爬蟲功能,結(jié)合實例形式分析了Python使用BeautifulSoup和requests庫爬取網(wǎng)站指定信息的相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
Python基礎(chǔ)之字符串常見操作經(jīng)典實例詳解
這篇文章主要介紹了Python基礎(chǔ)之字符串常見操作,結(jié)合實例形式詳細(xì)分析了Python字符串操作基本函數(shù)、功能、使用方法及操作注意事項,需要的朋友可以參考下2020-02-02
使用Python實現(xiàn)MapReduce的示例代碼
MapReduce是一個用于大規(guī)模數(shù)據(jù)處理的分布式計算模型,最初由Google工程師設(shè)計并實現(xiàn)的,Google已經(jīng)將完整的MapReduce論文公開發(fā)布了,本文給大家介紹了使用Python實現(xiàn)MapReduce的示例代碼,需要的朋友可以參考下2024-05-05
python Multiprocessing.Pool進(jìn)程池模塊詳解
multiprocessing模塊提供了一個Process類來代表一個進(jìn)程對象,multiprocessing模塊像線程一樣管理進(jìn)程,這個是multiprocessing的核心,它與threading很相似,對多核CPU的利用率會比threading好的多2022-10-10
pytorch+sklearn實現(xiàn)數(shù)據(jù)加載的流程
這篇文章主要介紹了pytorch+sklearn實現(xiàn)數(shù)據(jù)加載,之前在訓(xùn)練網(wǎng)絡(luò)的時候加載數(shù)據(jù)都是稀里糊涂的放進(jìn)去的,也沒有理清楚里面的流程,今天整理一下,加深理解,也方便以后查閱,需要的朋友可以參考下2022-11-11
解決Django部署設(shè)置Debug=False時xadmin后臺管理系統(tǒng)樣式丟失
這篇文章主要介紹了解決Django部署設(shè)置Debug=False時xadmin后臺管理系統(tǒng)樣式丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
基于Python開發(fā)PDF轉(zhuǎn)PNG的可視化工具
在數(shù)字文檔處理領(lǐng)域,PDF到圖像格式的轉(zhuǎn)換是常見需求,本文介紹如何利用Python的PyMuPDF庫和Tkinter框架開發(fā)一個帶圖形界面的PDF轉(zhuǎn)PNG工具,需要的可以參考下2025-03-03

