Django怎么调用有道词典或金山词典api获取单词发音?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django怎么调用有道词典或金山词典api获取单词发音?相关的知识,希望对你有一定的参考价值。

我用Django写了一个小网站,当用户点击发音按钮的时候需要获取这一个单词的发硬,怎么调用呢?

下面就是有道字典获取发音的请求头,你只需要将下面hello换成你要查询的单词即可。
GET /dictvoice?audio=hello&type=2 HTTP/1.1
Accept: */*
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Referer: http://dict.youdao.com/search?q=hello&keyfrom=fanyi.smartResult
Accept-Language: zh-CN
Accept-Encoding: gzip, deflate
Host: dict.youdao.com
Connection: Keep-Alive追问

这个要怎么用啊?

追答

‘’‘两种方式:

    前端调用,即前端请求http://dict.youdao.com/dictvoice?audio=要查询的单词&type=2。

    另一种是后台请求,传给前台,我给你写下后台抓取的代码,Django视图你就自己写下:

’‘’

#coding=utf-8

import urllib
import urllib2

headers = "User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"

url = "http://dict.youdao.com/dictvoice"

word = "hello"#你要查的单词
cuntry = "2" #美式为2,英式为1
params = "audio":word, "type":cuntry
data = urllib.urlencode(params)

request = urllib2.Request(url, data, headers)
response = urllib2.urlopen(request)

fs = open("temp.wav", 'wb')
fs.write(response.read())#response.read()即是返回的音频流,你可以直接发给前台不用保存
fs.close()

参考技术A 我写了一个类似的网页,你肯出多少分呢追问

都给你都可以啊

追答

文哥不出马,大家都以为咱是病猫啊!这是可以查询英美发音且自带下载功能网页!

ubuntu12.10安装的有道词典为啥不能打开

参考技术A Ubuntu系统.最好不要用有道,有道特烂,广告多,词典不权威,发音不准,一个词解释出一大堆含义,乱七八糟.用goldendict好了,安装goldendict词典软件,开源词典软件,免费,无版权,随意更改,速度快,无广告,简洁,词库自由分享,手机电脑通用词库,词典软件支持windows,linux,android,ios.网上很多可以用的词库,与普通词典的内容一样.同类软件有mdict(国内开源软件,功能不全,只是英语和东南亚语种词库多),bluedict(国内开源软件,同样功能不全,而且支持格式少)不能说太多,我被封了两次了.本回答被提问者采纳

以上是关于Django怎么调用有道词典或金山词典api获取单词发音?的主要内容,如果未能解决你的问题,请参考以下文章

有道词典怎么在谷歌浏览器屏幕取词

ubuntu12.10安装的有道词典为啥不能打开

C#导入有道词典单词本到扇贝

有道翻译js逆向更新了

爬虫post请求获取有道词典在线翻译

WebView调用有道词典实如今线查词