目录

抓包

代码

效果


使用Python爬取百度翻译,可更换语种如:日语,英语,这样就可以完成一个简易的翻译器!建议收藏!本文需要用到requests库和一些爬虫知识!可以参考方法改造代码!


Hi ! 又见面了!我是PYmili。今天给大家带来的....,我好像说过了!嘿嘿!那么就开始第一步吧!

抓包

打开百度翻译可以看见如下界面。

python翻译离线库 翻译包 python翻译器怎么下载_百度

可以看见两个输入框,和两个选择框。那么就基本知道走动方向了!我们随便选择语种。输入内容,查看网页链接情况。

python翻译离线库 翻译包 python翻译器怎么下载_爬虫_02

 

 可以看见网页链接发生了变化!那我们按 F12 键查看网络,找到一个叫 v2transapi?from=zh&to=jp 的xhr文件。

python翻译离线库 翻译包 python翻译器怎么下载_百度_03

 可以看见一个API:https://fanyi.baidu.com/v2transapi 后面跟着请求?from=zh 这里就是语种了。


代码

from = 语种。zh就是中文了!&to=jp 这里就是一样的jp就是要翻译至的语种 jp日语。那么,代码就可以这样写了!

import requests
import execjs

msg = input("输入你要查询的句子或词:")

url = "https://fanyi.baidu.com/v2transapi"

headers = {
    'User-Agent':'#这里填你自己的',
    'Cookie':'#这里写你的Cookie',
    }
with open('sign.js', 'r', encoding='utf-8') as f:  # js文件
    sign = execjs.compile(f.read()).call("get", msg)
data = {
    "from": "zh",  # 要翻译的语种
    "to": "jp",  # 翻译成的语种
    "query": msg,  # 要翻译的内容
    'transtype': 'translang',
    "simple_means_flag": "3",
    "sign":sign,
    "token":"#写你自己的token值",
    "domain":"common"
    }

r = requests.post(url=url, headers=headers, data=data)
print(r)
#print(r.json())
json = r.json()  # 获取json文件内容
print(json)
data = json['trans_result']
for i in json['trans_result']:
    datas = json['trans_result'][i]
    print(datas[0]['dst'])
    break

cookie值可以在看见的,需要填自己的cookie值。看图

python翻译离线库 翻译包 python翻译器怎么下载_百度_04

填你自己的!填我的没用啊! user-agent值也是如此,网页往下滑就行了。


我们慢慢来解释一下,首先!我们要请求这个api https://fanyi.baidu.com/v2transapi 这样我们再向api传入内容:

data = {
    "from": "zh",
    "to": "jp",
    "query": msg,
    'transtype': 'translang',
    "simple_means_flag": "3",
    "sign":sign,
    "token":"",
    "domain":"common"
    }

from值就是要翻译的语种,to就是翻译至的语种,query就是内容,还有两个重要的内容。sign这个是js生成的中文钥匙不是固定的,那我们就得自己生成。我这里用了群里一位老哥分享的js包可以加QQ群:706128290在群文件中,自行拿取。还有就是token值是网页固定的。看就知道了

python翻译离线库 翻译包 python翻译器怎么下载_python翻译离线库 翻译包_05

之前的文件下拉到最后。这里进行涂改,大家可以输入自己的值。怎么样是不是很简单?

在使用前!要安装一个库!PyExecJs

pip install PyExecJs

效果

接下来我们看效果:

python翻译离线库 翻译包 python翻译器怎么下载_百度_06

怎么样? 是不是很通俗易懂?你问我怎么更换语种?设置to就行了

语种名单

中文  zh  英语  en 
日语  jp  韩语  kor 
西班牙语  spa  法语  fra 
泰语  th  阿拉伯语  ara 
俄罗斯语  ru  葡萄牙语  pt 
粤语  yue  文言文  wyw 
白话文  zh  自动检测  auto