爬取國外**的時候,總有一些單詞要翻譯,找了一些翻譯介面,發現有道翻譯api還可以,但是網上說有限制,一小時可以翻譯1000次,但是實測可以抗住更多翻譯的。如果有長篇要翻譯,可以一次翻譯一句話,或者多個詞一起翻譯。以實現大量翻譯。
"""
有道翻譯sdk
輸入query_string
輸出translated_string
"""import requests
import json
import random
import re
class
youdaotranslator
(object):
def__init__
(self, query_string)
: self.url_temp =
""self.query_string = query_string
defget_keyfrom_key
(self)
:"""每次翻譯隨機使用一組keyform&key"""
youdaoapis =[,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,]api_dict = random.choice(youdaoapis)
return api_dict
defget_api_url
(self)
:"""拼接翻譯url"""
api_dict = self.get_keyfrom_key(
) url = self.url_temp.
format
(api_dict[
"keyfrom"
],api_dict[
"key"
],self.query_string)
return url
defparse
(self,url)
:"""解析翻譯url,返回翻譯str"""
try:
resp = requests.get(url)
.text
resp_dict = json.loads(resp)
ret = resp_dict[
"translation"][
0]except exception as e:
print
("翻譯報錯"
,e) ret =
""return ret
defrun(self)
:"""啟動翻譯,返回被翻譯的詞彙"""
url = self.get_api_url(
) translated_string = self.parse(url)
return translated_string
if __name__ ==
'__main__'
: query_string =
"book,dog,bird"
fanyi = youdaotranslator(query_string)
translated_string = fanyi.run(
)print
(translated_string)
python有道翻譯 Python版有道翻譯
做過爬蟲的朋友應該很通俗易懂,話不多說 亮 吧。需要用到的模組 urllib time hashlib random json code encoding utf 8 author search plugname youdaodict import urllib.request import url...
python 嘗試有道翻譯
乙隻小白的爬蟲,寫了乙個簡單 有道翻譯 記錄一下,如果大家有更好的方式 方法記得分享一下哦!coding utf 8 import urllib,urllib2,json url 有道翻譯 def translation word data data urllib.urlencode data en...
python請求有道翻譯
import requests import time,hashlib,math,random import pprint from fake useragent import useragent ua useragent random defget from word r math.floor t...