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("======================================================")
登錄成功后我們通過訪問首頁(yè)報(bào)告信息,查找報(bào)告詳情請(qǐng)求規(guī)律,一般每個(gè)首頁(yè)報(bào)告都包含了一條唯一id,唯一id對(duì)應(yīng)每條報(bào)告詳情地址最后路徑
第三個(gè)模塊(爬蟲報(bào)告所有場(chǎng)景唯一值)
# 測(cè)試報(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****" } #測(cè)試報(bào)告首頁(yè) 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庫(kù)處理XML和HTML文檔
- Python爬蟲之重放攻擊原理實(shí)例詳解
- Python爬蟲庫(kù)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庫(kù)爬取網(wǎng)站指定信息的相關(guān)操作技巧,需要的朋友可以參考下2019-08-08Python基礎(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-05python Multiprocessing.Pool進(jìn)程池模塊詳解
multiprocessing模塊提供了一個(gè)Process類來代表一個(gè)進(jìn)程對(duì)象,multiprocessing模塊像線程一樣管理進(jìn)程,這個(gè)是multiprocessing的核心,它與threading很相似,對(duì)多核CPU的利用率會(huì)比threading好的多2022-10-10pytorch+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-11python切片復(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庫(kù)和Tkinter框架開發(fā)一個(gè)帶圖形界面的PDF轉(zhuǎn)PNG工具,需要的可以參考下2025-03-03