使用Python从有道词典网页获取单词翻译
Jul 22, 2016 am 08:56 AM
python
翻译
从有道词典网页获取某单词的中文解释。
import re import urllib word=raw_input('input a word\n') url='http://dict.youdao.com/search?q=%s'%word content=urllib.urlopen(url) pattern=re.compile("</h2.*?</ul>",re.DOTALL) result=pattern.search(content.read()).group() pattern2=re.compile('<li>.*?</li>') for i in pattern2.findall(result): print i.strip('<li>').strip('</li>').decode('utf-8')
Nach dem Login kopieren
再给大家分享一个命令行版的
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2014-04-03 21:12:16 # @Function: 有道翻译命令行版 # @Author : BeginMan import os import sys import urllib import urllib2 reload(sys) sys.setdefaultencoding("utf-8") import simplejson as json import platform import datetime API_KEY = '******' KEYFORM = '******' def GetTranslate(txt): url = 'http://fanyi.youdao.com/openapi.do' data = { 'keyfrom': KEYFORM, 'key': API_KEY, 'type': 'data', 'doctype': 'json', 'version': 1.1, 'q': txt } data = urllib.urlencode(data) url = url+'?'+data req = urllib2.Request(url) response = urllib2.urlopen(req) result = json.loads(response.read()) return result def Sjson(json_data): query = json_data.get('query','') # 查询的文本 translation = json_data.get('translation','') # 翻译 basic = json_data.get('basic','') # basic 列表 sequence = json_data.get('web',[]) # 短语列表 phonetic,explains_txt,seq_txt,log_word_explains = '','','','' # 更多释义 if basic: phonetic = basic.get('phonetic','') # 音标 explains = basic.get('explains',[]) # 更多释义 列表 for obj in explains: explains_txt += obj+'\n' log_word_explains += obj+',' # 句子解析 if sequence: for obj in sequence: seq_txt += obj['key']+'\n' values = '' for i in obj['value']: values += i+',' seq_txt += values+'\n' print_format = '*'*40+'\n' print_format += u'查询对象: %s [%s]\n' %(query,phonetic) print_format += explains_txt print_format += '-'*20+'\n'+seq_txt print_format += '*'*40+'\n' print print_format choices = raw_input(u'是否写入单词本,回复(y/n):') if choices in ['y','Y']: filepath = r'/home/beginman/pyword/%s.xml' %datetime.date.today() if (platform.system()).lower() == 'windows': filepath = r'E:\pyword\%s.xml' %datetime.date.today() fp = open(filepath,'a+') file = fp.readlines() if not file: fp.write('<wordbook>\n') fp.write(u""" <item>\n <word>%s</word>\n <trans><![CDATA[%s]]></trans>\n <phonetic><![CDATA[[%s]]]></phonetic>\n <tags>%s</tags>\n <progress>1</progress>\n </item>\n\n""" %(query,log_word_explains,phonetic,datetime.date.today())) fp.close() print u'写入成功.' def main(): while True: txt = raw_input(u'请输入要查询的文本:\n') if txt: Sjson(GetTranslate(txt)) if __name__ == '__main__': main()
Nach dem Login kopieren
以上就是本文的所有内容了,希望大家能够喜欢
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
Wie lange dauert es, um Split Fiction zu schlagen?
3 Wochen vor
By DDD
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌

Hot-Tools-Tags

Heißer Artikel
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
Wie lange dauert es, um Split Fiction zu schlagen?
3 Wochen vor
By DDD
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Wochen vor
By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Machen Sie sich keine Sorgen, wenn Sie Filme ohne Untertitel ansehen! Xiaomi kündigt die Einführung von Echtzeit-Untertiteln von Xiaoai Translation für japanische und koreanische Übersetzungen an

So laden Sie Deepseek Xiaomi herunter

Was sind die Vor- und Nachteile des Templatings?

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

So speichern Sie die Evaluierungsfunktion
