使用python為POST報文做 屬性,屬性值 分割
最近正在瘋狂的弄python,boss最近瘋狂的懟我什麼語言用的熟,我說沒有,全靠百度爸爸施捨些程式碼。boss意味深長的一笑....咳咳,又說廢話了,不多說,最近在搞POST報文,這奇奇怪怪的格神奇的學會了regular expression,python的字串各種函式和字典資料結構。以下程式碼就搞了一件事:
輸入:
POST //images/pp.php
Content-Length:143
輸出:
POST Content-Length
//images/pp.php 143
還有些輸入格式細節我就不說了
#-*- encoding: UTF-8 -*-
import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
import numpy as np
import pandas as pd
import regex as re
#載入分析資料
book=load_workbook('exdata.xlsx','utf-8')
sheet=book.worksheets[0]
rows=sheet.max_row
cols=sheet.max_column
#輸出分析資料的表格
wb=Workbook()
osheet=wb.worksheets[0]
attribute_name={'域名': 1, 'type': 2}#儲存一個 屬性名 --> 屬性列下標 的對映
attribute_num=2
osheet.cell(row=1,column=1).value='domain-name'
osheet.cell(row=1,column=2).value='legal_type'
for i in range(2,rows+1):#向字典裡新增元素 rows+1
#將域名和型別寫入表格
osheet.cell(row=i,column=1).value=sheet.cell(row=i,column=1).value
osheet.cell(row=i,column=2).value=sheet.cell(row=i,column=3).value
#對POST報文進行處理
pval=sheet.cell(i,2).value
#去除無用字元
pval=pval.replace('_x000D_','')
#篩除無用密文------也可能不是
pval=pval.split('\n\n')
att_val=pval[0]
#生成<屬性,值>對
att_val=att_val.split('\n')
#print(att_val)#測試使用
for j in range(0,len(att_val)):
if j==0:
index=att_val[j].find(' ')
[attr,value]=[att_val[j][0:index],att_val[j][index+1:]]
else:
index=att_val[j].find(': ')
[attr,value]=[att_val[j][0:index],att_val[j][index+2:]]
if attribute_name.get(attr)==None:#屬性列表裡沒有該屬性名
attribute_name[attr]=attribute_num+1
attribute_num+=1
osheet.cell(row=1,column=attribute_name[attr]).value=attr
#寫入輸出的表格,直接寫單元格就行
osheet.cell(row=i,column=attribute_name[attr]).value=value
wb.save('table.xlsx')
相關推薦
使用python為POST報文做 屬性,屬性值 分割
最近正在瘋狂的弄python,boss最近瘋狂的懟我什麼語言用的熟,我說沒有,全靠百度爸爸施捨些程式碼。boss意味深長的一笑....咳咳,又說廢話了,不多說,最近在搞POST報文,這奇奇怪怪的格神奇的學會了regular expression,python的字串各種函式和字
Python的__getattr__和__setattr__方法,屬性私有化
__getattr__方法: 攔截點號運算。物件.屬性:如果找不到屬性,就會用屬性名作為字串,呼叫該方法;如果繼承樹可以找到該屬性,則不會呼叫該方法 這裡empty類和例項x並沒有屬性age,所以執行x.age時,就會呼叫__getattr__方法,對於name也
java中StringBuilder為單線程做的,StringBuffer相反
stringbu [] run lee 沒有 auth stub b- ati //沒有sycronized修飾method,是線程不安全的,--StringBuffer來彌補這個缺點,但速度就慢了 並沒有測試出來:: 1 /** 2 * 3 */ 4 p
資料庫--表的約束--空屬性,預設值,列描述,主鍵,唯一鍵,自增長,外來鍵等等
表的約束 空屬性及非空屬性 預設值 列描述 zerofill 主鍵 自增長 索引 唯一鍵 外來鍵 表的約束很多,這裡主要介
git 怎麼為開源專案做貢獻,怎麼有效管理貢獻者的提交
,當作為專案貢獻者時,我們該怎麼做才能方便維護者採納更新;或者作為專案維護者時,又該怎樣有效管理大量貢獻者的提交。 5.1 分散式工作流程 同傳統的集中式版本控制系統(CVCS)不同,開發者之間的協作方式因著 Git 的分散式特性而變得更為靈活多
Gson 同一屬性,屬性名不相同的轉換
在使用Gson解析json字串時,使用gson.fromGson(jsonStr,type) 解析時,通常jsonStr裡的實體屬性名與type的實體屬性名要保持一直,這樣才能轉換成功 當屬性命不相同時,使用@SerializedName("name") 即可實現轉換,na
學Python最實用的五大框架,你值的學習!
框架的出現不僅讓程式設計師能夠以更少的程式碼實現自定義功能,同時還能讓他們更集中在業務邏輯上,所有幾乎所有的程式設計師都會樂於使用框架。 開發一個Web應用程式,除了編寫應用程式之外,還有很多其它事情需要做,例如瞭解伺服器端架構、讓應用程式在使用JavaScript的使用者瀏覽器上執行等等。所以
使用WebElements定位多個相似的元素,比如頁面中存在五個單選按鈕,他們有相同的class屬性,值為:myRadio,我們想對五個按鈕迴圈操作,我們可以把它們全部取出來放到集合中,然後做迴圈操作
webdriver提供了豐富的API,有多種定位策略:id,name,css選擇器,xpath等,其中css選擇器定位元素效率相比xpath要高些,使用id,name屬性定位元素是最可靠,效率最高的一種辦法。 1、工具選擇:在我們開發測試指令碼的過程中各個瀏覽器給
SCRIPT5007:無法獲取屬性“show”的值,對象為null或沒有定義
dojo show post nbsp gb2 data scrip con style 1、錯誤描寫敘述 SCRIPT5007:無法獲取屬性“show”的值,對象為null或沒有定義 dojo.js,行15.字符11808 2、錯誤原因
Python通過lxml庫遍歷xml通過xpath查詢(標簽,屬性名稱,屬性值,標簽對屬性)
style 去掉 odi 之間 [] 符號 層次結構 div amp xml實例: 版本一: <?xml version="1.0" encoding="UTF-8"?><country name="chain"><provinces>
今天做一個項目的時候,要在一個編輯的jsp頁面的textarea標簽設置value屬性,結果發現他沒有value屬性,但是是編輯頁面又必須要回顯要修改的內容,所以在參考了w3cschool之後很輕松的解決了這個問題。
w3cschool 一個 ansi cli enc per table prefix cin 今天做一個項目的時候,要在一個編輯的jsp頁面的textarea標簽設置value屬性,結果發現他沒有value屬性,但是是編輯頁面又必須要回顯要修改的內容,所以在參考了w3csc
定義抽象類Shape,抽象方法為showArea(),求出面積並顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據各自的屬性,用showArea方法求出各自的面積,在main方法中構造3個對象,調用showArea方法。(體現多態)
子類 protected new 都是 package 使用 類指針 3.1 shape 實現多態的三個條件:1.要有繼承2.要有抽象方法重寫3.用父類指針(引用)指向子類對象 重載重寫重定義的區別: 1.重載:在同一個類中進行; 編譯時根據參數類型和個數決定方法調用;
在做vue計算屬性,v-for處理數組時遇到的一個bug
this 解決 就是 com 渲染 fault post return 我想 問題 bug: You may have an infinite update loop in a component render function 無限循環 需要處理的數組(在 ** ssq
python類的使用(類定義,構造器,類屬性,方法)
電子 針對 python 構造函數 tin 描述 將實例 工具 it民工 註:這裏只描述使用方法,具體類的概念長篇大論就不要為難我這個懶人了。 總之一句話編程語言只是一個工具,會用就行,好用就行。打破砂鍋問到底,我覺得有必要研究一下C,匯編,電子鏈路等。 1 class
spring boot加mybatis使用Map返回時,當值為空時屬性也會沒有(轉)
call pri per n-n spring fig setter 解決 strong 使用spring boot加mybatis時,設置Map返回,當值為空時屬性也會沒有,就會報錯 在application.properties中加入下面配置,將會解決這個問題。
python3 速查參考- python基礎 8 -> 面向對象基礎:類的創建與基礎使用,類屬性,property、類方法、靜態方法、常用知識點概念(封裝、繼承等等見下一章)
fde ODB 面向 繼承 普通 實參 使用 後者 people 基礎概念 1.速查筆記: #-- 最普通的類 class C1(C2, C3): spam = 42 # 數據
python 類屬性 、實例屬性,可變數據結構作為類屬性需要註意的地方
新的 tool gpo 聲明 info 必須 電影 title img 有一個大笨豬,按java寫觀察者模式,java寫得是直接在類名下聲明一個實例屬性(不加static的),他直接翻譯成python後,也是直接寫在類名下面,這就是大坑了。 java裏面在類名下面聲明的
python靜態屬性,靜態方法,類方法
類的屬性 tool 方法 method nbsp 靜態屬性 world assm 函數調用 #靜態屬性的作用是吧類的方法隱藏起來(可以把背後的邏輯隱藏起來),讓用戶感覺是在電泳屬性,而不是方法 class Static: attribute='屬性'
Python學習:17.Python面向對象(四、屬性(特性),成員修飾符,類的特殊成員)
介紹 col 寫代碼 被調用 表示 1.5 emp 成員 object 一、屬性(特性) 普通方法去執行的時候,後面需要加括號,特性方法執行的時候和靜態字段一樣不需要不需要加括號. 特性方法不和字段同名. 特性方法不能傳參數. 在我們定義數據庫字段類的時候,往往需要
Python:類屬性,實例屬性,私有屬性與靜態方法,類方法,實例方法
所有 參數 方法 rate self 類屬性 不能 anaconda 賦值 類屬性可以直接在方法中賦值,但 一、調用該屬性時,必須先調用該方法; 二、與 init 方法區別是,init方法只初始化一次,初始化完成後作為全局變量。在方法中賦值屬性,每次調用該方法,該屬性初始化