三個小工具,大幅提高爬蟲開發速度

2021-09-07 20:53:26 字數 3023 閱讀 7944

我們在進行爬蟲開發的時候,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一樣,這裡不做多餘的演示。

注意:

header值 僅支援解析從raw裡複製出來的值

data值 僅支援解析從webforms裡複製出來的值

cookie值 僅支援解析從cookies裡複製出來的值

三個函式的原始碼已經更新至我的gayhub了,該專案日後可能還會再更新一些爬蟲中常用的**片段,比如獲取經緯度的方法等等。

也可能不會 ?

如何使用Qt開發乙個進製轉換小工具

本遊戲使用qt5.8開發 這是一款進製轉換小工具,比如十二進位制的源資料15,如果您選擇目標進製7進製的話,那麼按下轉換按鈕,程式會輸出 程式的邏輯原理大概如此 首先把輸入通過一系列演算法轉換成bool陣列,bool的真假對應硬體中的高低電平,這樣就可以模擬晶元電路的與或非原理實現軟體層面的加減乘除...

介紹兩個b s開發中我常用到的小工具

第乙個是微軟的乙個小東西 利用這個能夠很輕鬆的掌握網頁的 dom結構 對應那些結構比較複製的網頁分析很有特效.本地 較老版本 官方 最新版本 第二個是 這個工具主要功能是監視 的資料,但是它也能讓你看到相關網頁或者樣式表檔案的內容.大小限制,分卷壓縮。這兩個軟體都很簡單 只有簡單的幾個英文單詞 所以...

發布乙個實體類屬性生成小工具,給開發加點料

做了很久的 生成工具,基本上都是基於表生成實體類屬性的,把資料庫表的資訊拿出來,然後之乎者也後生成乙個標準的實體類,包含字段 屬性 描述等東西。基本上能滿足前期的框架 生成。不過後來在做一些非資料庫的專案的實體類,還有一些不是基於表一一對應關係的實體類,寫這些字段屬性的 就顯得比較乏味,殺雞用小刀可...