Maison  >  Article  >  développement back-end  >  Exemple de mise en œuvre du dictionnaire Youdao en ligne de commande à l'aide de Python

Exemple de mise en œuvre du dictionnaire Youdao en ligne de commande à l'aide de Python

高洛峰
高洛峰original
2017-02-04 15:05:581395parcourir

Avant-propos

Depuis que j'utilise le système Linux, la prise en charge des dictionnaires est particulièrement médiocre. Pour quelqu'un comme moi qui parle mal l'anglais, je suis toujours bloqué lors de la lecture de documents en anglais. J'ai utilisé le dictionnaire Youdao auparavant, je me sens très bien. Bien qu'il existe une version Web, elle n'est pas prise en charge pour les pages Web en anglais de l'ensemble du site. Implémentez-en simplement un vous-même, un petit outil écrit en Python pour implémenter le dictionnaire Youdao. L'idée est également très simple. Il suffit d'appeler directement l'API de Youdao et d'analyser le json renvoyé.

Utilise uniquement les bibliothèques natives Python, prenant en charge python2 et python3.

Exemple de code

#!/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()

Utilisez

pour coller le code ci-dessus. Ensuite nommez-le youdao.py

, changez le nom en mv youdao.py youdao, puis ajoutez l'autorisation exécutable chmod a x youdao

et copiez-le dans /usr/local /bin. Lorsque vous utilisez cp youdao /usr/local/bin

, utilisez le mot à traduire comme premier paramètre de ligne de commande, et si la phrase est placée entre guillemets.

Exemple de mise en œuvre du dictionnaire Youdao en ligne de commande à laide de Python

Résumé

Ce qui précède est l'intégralité du contenu de cet article de questions et réponses. J'espère que le contenu de cet article pourra apporter de l'aide à l'étude ou à chacun. travail. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'exemples sur la façon d'utiliser Python pour implémenter le dictionnaire Youdao en ligne de commande, veuillez faire attention au site Web PHP chinois pour les articles connexes !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn