爬蟲—有道翻譯案例分析
#coding:utf-8
import requests
import hashlib
import time
import random
class Youdao(object):
def __init__(self,word):
self.url = '
self.headers = {
'Cookie': 'OUTFOX_SEARCH_USER_ID=-676104602@10.108.160.100; JSESSIONID=aaac40qHRBaDr_iGhSLUx; OUTFOX_SEARCH_USER_ID_NCOO=696608045.4734024; fanyi-ad-id=115021; fanyi-ad-closed=1; ___rl__test__cookies=1630572993167',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
'Referer': 'https: // fanyi.youdao.com /'
}
self.formdata = None
self.word = word
# 生成 formdata
def generate_formdata(self):
word = self.word
"""
1. 分析表單中動態變化的引數 ( 多次抓包對比 )
2. 全域性搜尋動態引數的欄位或者值
3. 找出對應實現的 js 程式碼 , 打斷點分析
ts: "" +外匯跟單gendan5.com (new Date).getTime(),
salt: r + parseInt(10 * Math.random(), 10);
sign: n.md5("fanyideskweb" + e + i + "Y2FYu%TNSbMCxc3t2u^XT") MD5 加密演算法
"""
# 4. 將 js 程式碼轉化為 python 程式碼實現
# 獲取字串形式的時間戳
lts = str(time.time()*1000)
# 時間戳 + 隨機數
salt = lts + str(random.randint(1,9))
# md5 字串加密 32 位
tempstr = "fanyideskweb" + self.word + salt + "Y2FYu%TNSbMCxc3t2u^XT"
md5 = hashlib.md5()
md5.update(tempstr.encode())
sign = md5.hexdigest()
# 構造表單字典
self.formdata = {
'i': word,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': salt,
'sign': sign,
'lts': lts,
'bv': '89e18957825871c419be045180c67d3b',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION'
}
def get_data(self):
response = requests.post(url=self.url,headers=self.headers,data=self.formdata)
return response.json()
def run(self):
# url
# headers
# formdata
self.generate_formdata()
# 傳送請求 , 獲取相應
data = self.get_data()
# 解析資料
result = data['translateResult'][0][0]['tgt']
print(result)
if __name__ == '__main__':
word = input(' 請輸入需要翻譯的漢語 :')
Youdao = Youdao(word)
Youdao.run()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2790349/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 爬蟲-有道翻譯爬蟲
- 爬取有道翻譯
- Python反反爬蟲實戰,JS解密入門案例,詳解呼叫有道翻譯Python爬蟲JS解密
- 教你用Python爬蟲自制有道翻譯詞典Python爬蟲
- aardio爬蟲) 實戰篇:逆向有道翻譯web介面爬蟲Web
- 有道翻譯最新爬蟲程式碼-基於Python3爬蟲Python
- Python爬蟲教程-16-破解js加密例項(有道線上翻譯)Python爬蟲JS加密
- python3:爬有道翻譯(命令列版)Python命令列
- 一篇文章教會你利用Python網路爬蟲獲取有道翻譯手機版的翻譯介面Python爬蟲
- python爬蟲呼叫谷歌翻譯介面Python爬蟲谷歌
- 爬蟲呼叫百度翻譯API爬蟲API
- 爬蟲百戰穿山甲(2):百度翻譯爬蟲爬蟲
- 爬蟲案例爬蟲
- 有道雲詞典--翻譯/螢幕取詞翻譯
- PHP微信開發--有道翻譯PHP
- Python爬蟲教程-06-爬蟲實現百度翻譯(requests)Python爬蟲
- Python爬蟲教程-05-python爬蟲實現百度翻譯Python爬蟲
- 爬蟲案例(六)爬蟲
- Java爬蟲翻頁Java爬蟲
- 有道翻譯軟體下載地址
- Angular 5 開發一個有道翻譯Angular
- python 爬蟲 簡單實現百度翻譯Python爬蟲
- 使用Urllib2製作有道翻譯器
- Java 英語單詞本 (基於有道翻譯)Java
- 爬取必應翻譯
- 基礎爬蟲案例實戰爬蟲
- python爬蟲怎麼翻頁Python爬蟲
- 在命令列用使用有道翻譯,python寫一個命令列有道詞典命令列Python
- 爬蟲搭建代理池、爬取某網站影片案例、爬取新聞案例爬蟲網站
- Python爬蟲教程-07-post介紹(百度翻譯)(上)Python爬蟲
- Python爬蟲教程-08-post介紹(百度翻譯)(下)Python爬蟲
- 基於 go + xpath 爬蟲小案例Go爬蟲
- IDEA Translation外掛中有道智雲(有道翻譯)應用ID,金鑰申請教程Idea
- 呼叫有道智雲API,自動翻譯WORDPRESS標題為英文API
- python:爬蟲1——實戰(下載一張圖片、用Python模擬瀏覽器,通過線上的有道詞典來對文字翻譯)...Python爬蟲瀏覽器
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 我爬取了爬蟲崗位薪資,分析後發現爬蟲真香爬蟲
- JAVA爬蟲使用Selenium自動翻頁Java爬蟲