머리말
리눅스 시스템을 사용해왔기 때문에 사전 지원이 특히나 저처럼 영어가 서투른 사람에게는 영어 문서를 읽을 때 항상 막히곤 했습니다. 이전에 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
을 사용할 때 번역할 단어를 첫 번째 명령줄 매개변수로 사용하고 문장이 따옴표로 묶인 경우.
요약
위 내용은 이번 질의응답 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 공부에 조금이라도 도움이 되었으면 좋겠습니다. 궁금한 점이 있으면 메시지를 남겨서 소통할 수 있습니다.
파이썬을 사용하여 명령줄 Youdao 사전을 구현하는 방법의 더 많은 예를 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!