零 文章目录
- 一 环境准备
-
- 二 百度翻译爬虫
- 二 金山爱词霸翻译
- 三 有道翻译
一 环境准备
本系列文章使用 PYTHON 3.X 版本
1.百度翻译
from random import randint
from hashlib import md5
import requests
2.爱词霸翻译
import requests
from bs4 import BeautifulSoup
3.有道翻译
import urllib
import response
import json
import requests
二 百度翻译爬虫
话不多说,直接上 源码,字符串f和t 的值可以替换成 auto(自动检测)、zh(中文)、en(英语)、wyw(文言文)、jp(日语)、kor(韩语) 等
def baidu(text): #输入:字符串,输出:字符串
f = "zh"
t = "en"
if f == t:
return text
appid = "20200803000532299"
q = text
salt = str(randint(32768, 65536))
key = "CjKsOO4hL_viuaJsV8iG"
m = md5()
sign = appid + q + salt + key
sign = sign.encode("utf-8")
m.update(sign)
sign = m.hexdigest()
q = q.replace("\n", "%0A")
url = "http://api.fanyi.baidu.com/api/trans/vip/translate?q=" + q + "&from=" + f + "&to=" + t + "&appid=" + appid + "&salt=" + salt + "&sign=" + sign
response = requests.get(url)
json = eval(response.text)
fanyi = ""
for word in json["trans_result"]:
fanyi += word["dst"]
fanyi += "\n"
return fanyi
二 金山爱词霸翻译
def iciba(text): #输入:字符串,输出:字符串
text = text.replace("\n", " ")
headers = {"User-Agent" : "User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"}
url = "http://www.iciba.com/word?w="+text
response = requests.get(url,headers=headers).text
soup = BeautifulSoup(response, "lxml")
data1 = soup.find(name="div", class_="Mean_trans__166Ns")
data2 = soup.find(name="ul", class_="Mean_part__1RA2V")
if data1 != None:
data3 = data1.find(name="p")
fanyi = data3.text
elif data2 != None:
data3 = data2.find_all(name="span")
fanyi = ""
for n in data3:
t = n.text
enter = False
if t[-2:] != "; ":
enter = True
if enter:
fanyi += "\n"
fanyi += t
return fanyi
三 有道翻译
代码源自网络
def dao(text):
url = 'http://fanyi.youdao.com/translate'
head = {}
head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
data = {}
data['i'] = text
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '15530239380571'
data['sign'] = '6979c233adaffb85f0af349de5644ca0'
data['ts'] = '1553023938057'
data['bv'] = '33a62fdcf6913d2da91495dad54778d1'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_REALTlME'
data['typoResult'] = 'false'
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')
target = json.loads(html)
target = target['translateResult'][0][0]['tgt']
return target