>  기사  >  백엔드 개발  >  Python을 사용하여 명령줄 Youdao 사전을 구현하는 방법의 예

Python을 사용하여 명령줄 Youdao 사전을 구현하는 방법의 예

高洛峰
高洛峰원래의
2017-02-04 15:05:581383검색

머리말

리눅스 시스템을 사용해왔기 때문에 사전 지원이 특히나 저처럼 영어가 서투른 사람에게는 영어 문서를 읽을 때 항상 막히곤 했습니다. 이전에 Youdao Dictionary를 사용해 보니 매우 좋습니다. 웹 버전이 있지만 전체 사이트의 영어 웹 페이지에서는 지원되지 않습니다. Youdao 사전을 구현하기 위해 Python으로 작성된 작은 도구를 직접 구현하면 됩니다. 아이디어도 매우 간단합니다. Youdao의 API를 직접 호출하고 반환된 json을 구문 분석하기만 하면 됩니다.

python2 및 python3을 지원하는 Python 네이티브 라이브러리만 사용합니다.

샘플 코드

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
# API key:273646050
# keyfrom:11pegasus11
 
import json
import sys
 
try: # py3
 from urllib.parse import urlparse, quote, urlencode, unquote
 from urllib.request import urlopen
except: # py2
 from urllib import urlencode, quote, unquote
 from urllib2 import urlopen
 
 
def fetch(query_str=''):
 query_str = query_str.strip("'").strip('"').strip()
 if not query_str:
 query_str = 'python'
 
 print(query_str)
 query = {
 'q': query_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)
 try:
 if d.get('errorCode') == 0:
  explains = d.get('basic').get('explains')
  for i in explains:
  print(i)
 else:
  print('无法翻译')
 
 except:
 print('翻译出错,请输入合法单词')
 
 
def main():
 try:
 s = sys.argv[1]
 except IndexError:
 s = 'python'
 parse(fetch(s))
 
 
if __name__ == '__main__':
 main()


를 사용하여 위 코드를 붙여넣고 이름을 지정합니다. youdao.py

의 이름을 mv youdao.py youdao로 변경한 다음 실행 권한 chmod a+x youdao

를 추가하고 /usr/local/에 복사합니다. 큰 상자. cp youdao /usr/local/bin

을 사용할 때 번역할 단어를 첫 번째 명령줄 매개변수로 사용하고 문장이 따옴표로 묶인 경우.

Python을 사용하여 명령줄 Youdao 사전을 구현하는 방법의 예

요약

위 내용은 이번 질의응답 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 공부에 조금이라도 도움이 되었으면 좋겠습니다. 궁금한 점이 있으면 메시지를 남겨서 소통할 수 있습니다.

파이썬을 사용하여 명령줄 Youdao 사전을 구현하는 방법의 더 많은 예를 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.