我們在進行爬蟲開發的時候,fildder是乙個必不可少的神器。尤其是現在大型**的反爬越來越難處理,經常會花費我們大量的時間來找到哪些引數是必須的。因此如果能夠快速的將fildder抓到的包裡面的引數轉換成python可用的格式,那麼無疑可以極大的提高我們的開發效率。
因此我寫了小工具,主要目的是為了快速的將fildder裡抓到的header
,data
,cookie
轉換成requests
,scrapy
等支援的dict
格式。
注意: 僅支援解析從webform
裡複製引數
將data
的引數從webform
裡複製出來的格式是這樣的:
_token
address
channel 6
cityid
gpslat 23.135075
gpslng 113.357076
shopid 0
source shoplist
第一列為由於它的規則還是十分整齊的,所以可以使用正則來將其分別提取出來:key
值,第二列為value
值。 後面為空的表示value
的值便為空。
import re
defre_data
(data)
: key_rule=
'(.*)\t'
key = re.findall(key_rule,data)
value_rule =
'\t(.*)'
value = re.findall(value_rule,data)
print
(len
(key)
)print
(len
(value)
) result =
iflen
(key)
==len
(value)
:for i in
range
(len
(key)):
result[key[i]
]= value[i]
print
(result)
上面的那段data引數使用此函式的執行結果為:
該結果會在控制台輸出,由於結果是乙個標準的dict
,所以我們可以直接的將其複製到python**使用就好。
無論引數有多少,整個過程只需要十秒鐘。相比之前乙個引數乙個引數的複製貼上來講,效率提高了數倍。
同樣的道理,對於header
,cookie
的值,我們也可以使用正則的方法來解析:
解析header
def
re_header
(header)
: key = re.findall(
'[\t|\n]([\w*|\.|-]*):'
,header)
val = re.findall(
':[\n\t]*(.*)\n'
,h1)
header =
print
(key)
print
(val)
for i in
range(0
,len
(key)):
header[key[i]
]= val[i]
.lstrip(
' ')
print
(key[i]
,val[i]
)print
(len
(key)
)print
(len
(val)
)print
(header)
解析cookie
def
re_cookie
(cookiestr)
:print
(cookiestr.encode(
'utf-8'))
key = re.findall(
'[\t|\n]([\w*|\.]*)='
,cookiestr)
val = re.findall(
'=[\n\t]*(.*)\n'
,cookiestr)
cookies =
for i in
range(0
,len
(key)):
cookies[key[i]
]= val[i]
print
(key[i]
, val[i]
)print
(key)
print
(len
(key)
)print
(len
(val)
)print
(cookies)
使用方法同解析data
一樣,這裡不做多餘的演示。
注意:三個函式的原始碼已經更新至我的gayhub了,該專案日後可能還會再更新一些爬蟲中常用的**片段,比如獲取經緯度的方法等等。header值 僅支援解析從
raw
裡複製出來的值data值 僅支援解析從
webforms
裡複製出來的值cookie值 僅支援解析從
cookies
裡複製出來的值
也可能不會 ?
如何使用Qt開發乙個進製轉換小工具
本遊戲使用qt5.8開發 這是一款進製轉換小工具,比如十二進位制的源資料15,如果您選擇目標進製7進製的話,那麼按下轉換按鈕,程式會輸出 程式的邏輯原理大概如此 首先把輸入通過一系列演算法轉換成bool陣列,bool的真假對應硬體中的高低電平,這樣就可以模擬晶元電路的與或非原理實現軟體層面的加減乘除...
介紹兩個b s開發中我常用到的小工具
第乙個是微軟的乙個小東西 利用這個能夠很輕鬆的掌握網頁的 dom結構 對應那些結構比較複製的網頁分析很有特效.本地 較老版本 官方 最新版本 第二個是 這個工具主要功能是監視 的資料,但是它也能讓你看到相關網頁或者樣式表檔案的內容.大小限制,分卷壓縮。這兩個軟體都很簡單 只有簡單的幾個英文單詞 所以...
發布乙個實體類屬性生成小工具,給開發加點料
做了很久的 生成工具,基本上都是基於表生成實體類屬性的,把資料庫表的資訊拿出來,然後之乎者也後生成乙個標準的實體類,包含字段 屬性 描述等東西。基本上能滿足前期的框架 生成。不過後來在做一些非資料庫的專案的實體類,還有一些不是基於表一一對應關係的實體類,寫這些字段屬性的 就顯得比較乏味,殺雞用小刀可...