python 百度翻译post请求

来源:互联网 发布:信息化校园大数据引领 编辑:程序博客网 时间:2024/06/05 20:58

$cat youdao.py

#encoding:utf8import sysimport urllib2from lxml import etreeimport jsonimport urllibfrom optparse import OptionParserua_header =  {"User-Agent":        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36"}#这个是有道的,为了查单个单词。这个最简单。def getWordText(word):    url = "http://www.youdao.com/w/eng/"+word+"/#keyfrom=dict2.index"    #   print "输入错误:\n如:\npython youdao 1 没有空格的单词\npython youdao 2 英文语句"    try:        request = urllib2.Request(url,headers=ua_header)        response = urllib2.urlopen(request)        htmldata = response.read()        #print "test:",htmldata        htmldata = etree.HTML(htmldata)        expression_xpath = "/html/body/div[1]/div[2]/div[1]/div[2]/div[2]/div[1]/div[2]/ul/li"        zh_text = htmldata.xpath(expression_xpath)        #print len(zh_text)        #print zh_text        if zh_text ==[]:            print "输入错误,请查看帮助"        for x in zh_text:            print  x.text    except Exception as e:        print e#从百度翻译获取的,对句子进行翻译,也可以单词,但是单词解释就详细。def getSentenceText(s):    """        s:你要输入的英文句子    """    url = "http://fanyi.baidu.com/v2transapi/"    datadict = {"from":"en",                "to":"zh",                "query":None,                "simple_means_flag":'3',                }    datadict["query"] = s    formdata = urllib.urlencode(datadict)    try:        request = urllib2.Request(url,data=formdata,headers=ua_header)        response = urllib2.urlopen(request)        htmldata = response.read()        jsontext =  json.loads(htmldata)        result = jsontext["trans_result"]["data"][0]["dst"]        if result ==None or result ==[]:            print "输入错误,请查看帮助"        print  result    except Exception as e:        print "error:",e#从命令行获取你的输入def getOptions():    parser = OptionParser()    parser.add_option('-t','--type',type='string',action='store',dest='type',                        help=u"输入类型,1 单词详解;2 语句翻译")     parser.add_option("-c",'--contents',type="string",action='store',dest="contents",                        help=u"输入你的英文单词或者语句")       options,args = parser.parse_args()    return  optionsdef main():    enter = getOptions()    t = enter.type    contents = enter.contents    if '1' in t:        print contents,"\n翻译如下:"        getWordText(contents)    elif '2' in t:        print contents,"\n翻译如下:"        getSentenceText(contents)if __name__=="__main__":    main()

如何操作:

1.安装lxml库 (1) pip 方式:      pip install lxml  (2)  ubuntu下:      apt-get install python-lxml  (3)  centos下:      yum install python-lxml2.程序是python2编写的,如下运行: (1)获取帮助:    [root#]python youdao.py  -h    Usage: youdao.py [options]    Options:      -h, --help            show this help message and exit      -t TYPE, --type=TYPE  输入类型,1 单词详解;2 语句翻译      -c CONTENTS, --contents=CONTENTS                        输入你的英文单词或者语句   (2) 查询单词:    [root#]python youdao.py  -t 1 -c beautiful    beautiful     翻译如下:    adj. 美丽的    出色地    出色的    迷人的    迷人地   (3) 查询语句:    [root#] python youdao.py  -t 2 -c  "I love you,you love him,he loves her"    I love you,you love him,he loves her     翻译如下:    我爱你,你爱他,他爱她。3.使用别名:     (1)在  ~/.bashrc最后一行添加如下:      alias fyi="/usr/bin/python /home/jokerzhang/scripts/fanyi/youdao.py  -t"2)执行命令如下:    source  或 .    .bashrc      (3) 这样就可以简化操作了:        fyi  1 -c hello
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 梦幻互通 互通 三国杀互通版 传奇世界3d互通一区邀请码 互通式立体交叉 互通式立交桥 京津翼互联互通卡 三国杀ol互通版 4399三国杀互通版 一卡通互联互通 2019年公交卡互通城市名单 常州无锡高架互通 2018年公交卡互通城市名单 正版魔域手机互通版下载 新剑侠情缘2019互通开服时间表 自锁互锁 互锁电路 互锁电路图 互锁 互锁快速门 互锁开关 贝贝vs马思维互骂的词 洗米华与小三mandy互骂 亓姓 亓读什么 亓怎么读 亓这个字怎么读 亣与亓 亓的读音 亓延军 亓的寓意 亓岭村 亓字怎么读 亓姓起名 亓在名字中的寓意 亓怎么读音是什么意思 亓克 亓航 五险哪五险