# 建立md5物件
md5_o = hashlib.md5()
# 需要有bytes, 作為引數
# 由str, 轉換成 bytes encode-------str.encode('utf-8')
# 由bytes轉換成 str, decode---------bytes.decode('utf-8')
sign_bytes = need_str.encode('utf-8')
# print(type(sign_bytes))## 更新md5 object的值
md5_o.update(sign_bytes)
sign_str = md5_o.hexdigest()
return sign_str
def translate(kw):
url = ''
headers =
#form的生成 1. i:需要確定 2.salt 3.sign
key = kw
# print('time.time()',time.time())
# print('random.randint(0,10)', random.randint(0,10))
salt = int(time.time()*1000 + random.randint(0,10))
# print(salt)
salt_str = str(salt)
# sign : o = u.md5(s + n + r + d);
# s = "fanyideskweb"
# d = "ebsefb%=xz%t[kz)c(sy!"
# n = key
# r = salt_str
s = "fanyideskweb"
d = "ebsefb%=xz%t[kz)c(sy!"
sign_str = s + key + salt_str + d
# md5 加密的方法
sign_md5_str = md5_my(sign_str)
form =
html_bytes = post(url, form, headers=headers)
# 將json型別的str轉化成字典
res_dict = json.loads(html_bytes.decode('utf-8'))
print(html_bytes.decode('utf-8'))
# ]],
# "errorcode":0,"type":"zh-chs2en",
# "smartresult":}
translate_res = res_dict['translateresult'][0][0]['tgt']
# 將翻譯後的結果返回
return translate_res
if __name__ == '__main__':
# 測試
# print(translate('你好'))
while true:
code = input('請輸入要翻譯的詞語: ')
if code=='0':
break
else:
ret = translate(code)
print(code,'的翻譯是:' + ret)
注意點:
str型別轉換byte型別--->encode
byte型別轉換str型別---->decode
字典dict轉換str型別------>urlencode
urlencode:可以把key-value這樣鍵值對轉換成我們想要的格式,即url格式。返回的是類似a=1&b=2這樣的url字串
content-length:指的是內容體的長度,即body的長度。一般不設定,讓其自動擴充套件content length:是指報頭以外的內容長度。一般的伺服器實現中,超過這個長度的內容將被拋棄。 不會產生新post。
如果短於內容長度,協議要求伺服器返回400錯誤資訊bad request(不正確的請求)的。post是把鍵-值對放在內容中傳遞,受上述規則制約。
有道翻譯破解
目標位址 import requests import json defyoudaofanyi 在 中輸入乙個內容 這樣我們就可以在 nowwork 的 all 中 找 headers 中的 form data 中的資料是否有新增的內容 觀察 得到 將其修改為 資料 頁就是 去掉 o 的 才是需要真...
反爬蟲 破解js加密 有道翻譯
擷取部分加密演算法 全部原始碼資訊請檢視 var n e jquery 1.7 e md5 e utils var r null t.asyrequest function e datatype json success function t error function e coding utf ...
爬蟲 有道翻譯
import time import requests import hashlib class youdaofanyi def get cookie self url ret requests.get url url return ret.headers.get set cookie def tr...