python有道-Python3基础 访问在线的有道词典
Python : 3.7.0
OS : Ubuntu 18.04.1 LTS
IDE : PyCharm 2018.2.4
Conda : 4.5.11
typesetting : Markdown
code
"""
@Author : 行初心
@Date : 18-9-24
@Blog : www.cnblogs.com/xingchuxin
@Gitee : gitee.com/zhichengjiu
"""
import urllib.request
import urllib.parse
import json
def main():
content = input('請輸入你想翻譯的內(nèi)容:')
# General-Requst Url
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
# From Data
data = {}
data['type'] = 'AUTO'
data['i'] = content
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
# 編碼成utf-8格式
data = urllib.parse.urlencode(data).encode('utf-8')
# 發(fā)出請求得到響應,當data不為none,為post狀態(tài)。否則為get狀態(tài)
response = urllib.request.urlopen(url, data)
# html是一個utf-8格式的文件
result = response.read()
# 解碼成utf-8格式的
code_utf8 = result.decode('utf-8')
# code_utf8 是json 輕量級的數(shù)據(jù)交換格式
print(code_utf8)
# 解析json格式
print(json.loads(code_utf8))
# 解析json格式,解出來是一個字典
tagert = json.loads(code_utf8)
print(type(tagert))
print(tagert)
# 逐步拆解,獲得結果
print((tagert['translateResult']))
print((tagert['translateResult'][0]))
print((tagert['translateResult'][0][0]))
print('你想翻譯的內(nèi)容是:', (tagert['translateResult'][0][0]['src']))
print('翻譯結果是:', (tagert['translateResult'][0][0]['tgt']))
if __name__ == '__main__':
main()
result
/home/coder/anaconda3/envs/py37/bin/python /home/coder/PycharmProjects/basic/demo.py
請輸入你想翻譯的內(nèi)容:你好
{"type":"ZH_CN2EN","errorCode":30,"elapsedTime":0,"translateResult":[[{"src":"您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站“有道智云”: http://ai.youdao.com","tgt":"您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站“有道智云”: http://ai.youdao.com"}]]}
{'type': 'ZH_CN2EN', 'errorCode': 30, 'elapsedTime': 0, 'translateResult': [[{'src': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com', 'tgt': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com'}]]}
{'type': 'ZH_CN2EN', 'errorCode': 30, 'elapsedTime': 0, 'translateResult': [[{'src': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com', 'tgt': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com'}]]}
[[{'src': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com', 'tgt': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com'}]]
[{'src': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com', 'tgt': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com'}]
{'src': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com', 'tgt': '您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com'}
你想翻譯的內(nèi)容是: 您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com
翻譯結果是: 您的請求來源非法,商業(yè)用途使用請關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com
Process finished with exit code 0
more knowledge
這個代碼 注釋較多,好好分析。
用這個程序,服務器是可以識別到是python程序來訪問的。
學習網(wǎng)絡編程的時候,悠著點,好好呆著,服務器要判定是搗亂的,就不讓訪問了。
從前是可以訪問的,如今發(fā)生了變化。既然服務器針對這次請求給出了回復,那么就要認真閱讀。
歡迎關注有道翻譯API官方網(wǎng)站"有道智云”: http://ai.youdao.com
resource
[文檔] docs.python.org/3
[規(guī)范] www.python.org/dev/peps/pep-0008
[規(guī)范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
[源碼] www.python.org/downloads/source
[ PEP ] www.python.org/dev/peps
[平臺] www.cnblogs.com
[平臺] gitee.com
Python具有開源、跨平臺、解釋型、交互式等特性,值得學習。
Python的設計哲學:優(yōu)雅,明確,簡單。提倡用一種方法,最好是只有一種方法來做一件事。
代碼的書寫要遵守規(guī)范,這樣有助于溝通和理解。
每種語言都有獨特的思想,初學者需要轉(zhuǎn)變思維、踏實踐行、堅持積累。
總結
以上是生活随笔為你收集整理的python有道-Python3基础 访问在线的有道词典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子商务学计算机为什么,千万不要学电子商
- 下一篇: 爬有道在线翻译(已完善)