作為第一個(gè)不水的實(shí)驗(yàn)。
#!/usr/bin/env python? 防止操作系統(tǒng)用戶沒有將python裝在默認(rèn)路徑
# -*- coding:utf-8 -*-
import json
import sys
try:? #py3
?from urllib.parse import urlparse(),quote,unquote(解碼),urlencode(將鍵值對轉(zhuǎn)換為我們想要的格式)
?from urllib.request import urlopen
except: #py2
?from urllib import urlencode,quote,unquote
?from urllib import urlopen
def fetch(que_str=''):
?que_str=que_str.strip(" ' ").strip(' " ').strip()
?if not que_str:
??query_str='python'
?print(que_str)
?query={
??'q':que_str
?}
?url='http://fanyi.youdao.com/openapi.do?keyfrom=11pegasus11&key=273646050&type=data&doctype=json&version=1.1&' + urlencode(query)
?response=urlopen(url,timeout=3)
?html=response.read().decode('utf=8')
?return html
def parse(html):
?d=json.loads(html)? #json.dump()把一個(gè)python對象編碼轉(zhuǎn)換成json字符串
?try:
??if d.get('errorCode')==0:
???explains=d.get('basic').get('explains')
???for i in explains:
????print(i)
??else:
???print('無法翻譯')
?except:
??print('翻譯出錯(cuò),請輸入合法單詞')
def main():
?try:
??s=sys.argv[1]?? 模塊名之后的參數(shù)
?except IndexError:
??s='python'
?parse(fetch(s))
if __name__=='__main__':
?main()