破解svg加密的字元,得到正確的字元
練習平台
一、svg的具體表現
二、css檔案
三、svg
四、舉例詳解
這裡選擇圖一為例:
已知:類名:vhkjj4
座標:(-316px -141px)----取正整數則為(316,141)
可以自行選擇其他類名進行嘗試
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @author : jia666
# @time : 2020/10/19 15:58
import re
import requests
class
svg_num()
:def
__init__
(self, name)
: self.class_name = name
self.main(
)def
main
(self)
: self.get_file(
)# 獲取css與svg檔案
self.init_svg(
)# svg解析
self.svg_parse(
)# svg對映
defget_file
(self)
: svg_link =
""# svg鏈結
css_link =
""# css鏈結
# 獲取svg與css檔案內容
self.svg_text = requests.get(svg_link)
.text
css_text = requests.get(css_link)
.text
self.css_text = css_text.replace(
'\n',''
).replace(
' ','')
# 將換行符與空格清除,方便下一步匹配
# 定義乙個函式用於匹配class屬性為xx對應的css引數
deffind_xy
(self, in_text, class_value)
: re_sentence =
'.%s'
% class_value
pattern = re.
compile
(re_sentence)
res = pattern.findall(in_text)
return res[0]
# 尋找出svg檔案中定義的字元大小
deffind_font_size
(self,in_text)
: fs = re.
compile
(r'font-size:(\d+)px'
) res = fs.findall(in_text)
return
int(res[0]
)def
init_svg
(self)
: text = re.findall(
'y="(.*?)">(.*?)'
, self.svg_text, re.s)
self.list_y =
self.list_text =
for i in
range
(len
(text)):
[0])
[1])
defsvg_parse
(self)
: x, y = self.find_xy(self.css_text, self.class_name)
# 找出class=vhkjj4的xy座標
real_y =
[i for i in self.list_y if y <= i][-
1]# 找出是哪乙個 y
real_text = self.list_text[self.list_y.index(real_y)
]# 找出是那個一 text
index =
int(
int(x)/14
)# 取整數下標
print
('svg類名:'
+ self.class_name +
'\n'
+'座標:'
+str
((x, y))+
'\n'
+'字型大小:'
+str
(self.find_font_size(self.svg_text))+
'\n'
+'對映字元:'
參考部落格
Python爬蟲(入門 高階)
講解方式 針對每乙個 或專題進行詳細深入的專項講解 課程亮點 具體的 資料抓取的案例和常見爬蟲問題的專項解答 課程內容 python爬蟲熱點專案,由多個 資料抓取的案例和常見問題專項解答組成 適用人群 1 希望未來從事爬蟲或反爬蟲方向工作的程式設計師。2 正在從事爬蟲工作,但對目前職業有進一步提公升...
python爬蟲基礎(3)爬蟲高階知識
cookie是指 為了鑑別使用者身份,進行繪畫跟蹤而儲存在客戶端本地的資料。本來的含義是指有始有終的一系列動作,而在web中,session物件用來在伺服器儲存特定使用者會話所需要的屬性及資訊。cookie和session他們不屬於http協議範圍,由於http協議無法保持狀態,但實際情況,我們有需...
python高階檔案和爬蟲
檔案後續 轉換文字 分辨檔案的編碼格式 num open r c users 悠然 desktop 練字 python.txt r encoding gbk text num.read print text 如圖 迴圈讀 以行為單位 num open r c users 悠然 desktop 練字 ...