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

