200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python利用有道词典翻译_Python调用有道词典翻译

python利用有道词典翻译_Python调用有道词典翻译

时间:2024-07-04 02:03:42

相关推荐

python利用有道词典翻译_Python调用有道词典翻译

Python调用有道词典翻译

分析

翻译按钮

点击翻译按钮,查看网络请求,如图

共有四个网络请求,经过分析,查看返回的信息,显然第一个是真正的翻译请求,具体信息以下:

如图所示,咱们真正关注的是请求参数,在这么多的参数当中,其中,i是须要翻译的词语,经过对多个翻译请求分析知道,from是翻译原文语言,to是翻译的目标语言,剩下的除了salt,sign以外的都是固定的,所以,如今问题是salt,sign是怎么来的前端

前端代码

经过前端的断点分析,找到发送网络请求的代码,具体以下:

显然,salt是一个时间戳加上随机数获得"" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),sign是一个md5加密的字符串,显然,只有模拟出这两个参数就能够了git

代码

# -*- coding: UTF-8 -*-

import hashlib

import random

import requests

import time

s = requests.Session()

m = hashlib.md5()

class Dict:

def __init__(self):

self.headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/0101 Firefox/57.0',

'Referer': '/',

'contentType': 'application/x-www-form-urlencoded; charset=UTF-8'

}

self.url = '/translate_o?smartresult=dict&smartresult=rule&sessionFrom='

self.base_config()

def base_config(self):

"""

设置基本的参数,cookie

"""

s.get('/')

def translate(self):

i = '你好'

salf = str(int(time.time() * 1000) + random.randint(0, 9))

n = 'fanyideskweb' + i + salf + "rY0D^0'nM0}g5Mm1z%1G4"

m.update(n.encode('utf-8'))

sign = m.hexdigest()

data = {

'i': i,

'from': 'AUTO',

'to': 'AUTO',

'smartresult': 'dict',

'client': 'fanyideskweb',

'salt': salf,

'sign': sign,

'doctype': 'json',

'version': "2.1",

'keyfrom': "fanyi.web",

'action': "FY_BY_DEFAULT",

'typoResult': 'false'

}

resp = s.post(self.url, headers=self.headers, data=data)

return resp.json()

dic = Dict()

resp = dic.translate()

print(resp)

项目地址: 基于Python的爬虫

QQ交流群: 173318043web

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。