有道翻译

1.先进入有道翻译 然后 找到 进行翻译的 real url
在这里插入图片描述
2.我们再 把鼠标 滑一滑 看一看下面还有什么东西 就发现了 salt 和 sign 和 lts
然后多翻译几个单词 在看一看 发现 salt 和 sign 和 lis 一直在变
说明这里有问题呀 有s加密吧
在这里插入图片描述

3.下面就是 去找 js加密的文件
在这里插入图片描述

3.1打开网页源代码 中正好 有三个 js 文件 分别点看 然后可以 在点开的页面 crtl+f 搜一搜 看看有没有sign这样的东西呀

3.2看的话 可以现在这个网站 美化一哈 再看一看 美化美化在这里

3.3然后美化后 可以 复制一下 然后粘贴在文本里面 选择 javascr 然后 crtl+f 然后搜索 sign 看它的函数

就是这个把

var n = e("./jquery-1.7");
e("./utils");
e("./md5");
var r = function(e) {
var t = n.md5(navigator.appVersion),
r = "" + (new Date).getTime(),                  
        #   (new Date).getTime()   这是 时间戳(指格林威治时间自197011日(00:00:00 GMT)至当前时间的总秒数。)不过这里是以                      毫秒为单位
i = r + parseInt(10 * Math.random(), 10);
        #parseInt(10 * Math.random(), 10)        1-10的随机数, 最后的那个10  代表 10 进制 
return {
ts: r,
bv: t,
salt: i,
sign: n.md5("fanyideskweb" + e + i + "Tbh5E8=q6U3EXe+&L[4c@")
}
};
t.recordUpda
import requests
import time
import random
import hashlib

url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
    'Cookie':'OUTFOX_SEARCH_USER_ID=-107820179@183.230.12.194; JSESSIONID=aaavxcT6sV994fn2skxDx; __guid=204659719.4322438783133235700.1612075052687.918; monitor_count=1; OUTFOX_SEARCH_USER_ID_NCOO=1091432003.1990173; ___rl__test__cookies=1612075081353',
    'Referer':'http://fanyi.youdao.com/'
}

word=input('请输入要翻译的单词:')
time=time.time()*1000                    #python中的   是以秒为单位的      需要是毫秒
salt=str(time)+str(random.randint(0,10))
lts=time
sign_false="fanyideskweb" + word + salt + "Tbh5E8=q6U3EXe+&L[4c@"
sign=hashlib.md5(sign_false.encode("utf8")).hexdigest()       #md5 是一个加密方法

data={
        'i': word,
        'from': 'AUTO',
        'to': 'AUTO',
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': salt,
        'sign': sign,
        'lts': time,
        'bv': 'cc652a2ad669c22da983a705e3bca726',
        'doctype': 'json',
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_CLICKBUTTION',
}
resp = requests.post(url,headers=headers,data=data)
print(resp.json())

有时候啊 js 破解成本太高 就采用selenium

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import selenium.webdriver.support.expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

word=input('请输入需要翻译的单词:')

driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://fanyi.youdao.com/')
driver.maximize_window()
actions=ActionChains(driver)


input_tag=driver.find_element_by_id('inputOriginal')
actions.move_to_element(input_tag)
input_tag.clear()

actions.send_keys_to_element(input_tag,word)

translation_tag=driver.find_element_by_id('transMachine')
actions.move_to_element(translation_tag)
actions.click()
actions.perform()

WebDriverWait(driver,1000).until(
    EC.presence_of_element_located((By.XPATH,'//div[@id="transTarget"]/p/span'))
)

reslut_tag=driver.find_element_by_xpath('//div[@id="transTarget"]/p/span')

print(reslut_tag.text)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值