目录

一、直接调用两个翻译函数

1.完整代码

2.运行时间

二、并行后

1.完整代码

2.运行时间


一、直接调用两个翻译函数

1.完整代码

package mainimport ("bytes""encoding/json""fmt""io/ioutil""log""net/http"// "strings""os""time"
)type DictResponse struct {Words []struct {Source  int    `json:"source"`Text    string `json:"text"`PosList []struct {Type      int `json:"type"`Phonetics []struct {Type int    `json:"type"`Text string `json:"text"`} `json:"phonetics"`Explanations []struct {Text     string `json:"text"`Examples []struct {Type      int `json:"type"`Sentences []struct {Text      string `json:"text"`TransText string `json:"trans_text"`} `json:"sentences"`} `json:"examples"`Synonyms []interface{} `json:"synonyms"`} `json:"explanations"`Relevancys []interface{} `json:"relevancys"`} `json:"pos_list"`} `json:"words"`Phrases  []interface{} `json:"phrases"`BaseResp struct {StatusCode    int    `json:"status_code"`StatusMessage string `json:"status_message"`} `json:"base_resp"`
}type DictRequest struct {Text     string `json:"text"`Language string `json:"language"`
}type DictResponse2 struct {Rc   int `json:"rc"`Wiki struct {KnownInLaguages int `json:"known_in_laguages"`Description     struct {Source string      `json:"source"`Target interface{} `json:"target"`} `json:"description"`ID   string `json:"id"`Item struct {Source string `json:"source"`Target string `json:"target"`} `json:"item"`ImageURL  string `json:"image_url"`IsSubject string `json:"is_subject"`Sitelink  string `json:"sitelink"`} `json:"wiki"`Dictionary struct {Prons struct {EnUs string `json:"en-us"`En   string `json:"en"`} `json:"prons"`Explanations []string      `json:"explanations"`Synonym      []string      `json:"synonym"`Antonym      []string      `json:"antonym"`WqxExample   [][]string    `json:"wqx_example"`Entry        string        `json:"entry"`Type         string        `json:"type"`Related      []interface{} `json:"related"`Source       string        `json:"source"`} `json:"dictionary"`
}type DictRequest2 struct {TransType string `json:"trans_type"`Source    string `json:"source"`UserID    string `json:"user_id"`
}func query2(word string) {client := &http.Client{}request := DictRequest2{TransType: "en2zh", Source: word}buf, err := json.Marshal(request)if err != nil {log.Fatal(err)}var data = bytes.NewReader(buf)req, err := http.NewRequest("POST", "https://api.interpreter.caiyunai.com/v1/dict", data)if err != nil {log.Fatal(err)}req.Header.Set("Connection", "keep-alive")req.Header.Set("sec-ch-ua", `" Not A;Brand";v="99", "Chromium";v="8"`)req.Header.Set("sec-ch-ua-mobile", "?0")req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/30")req.Header.Set("app-name", "xy")req.Header.Set("Content-Type", "application/json;charset=UTF-8")req.Header.Set("Accept", "application/json, text/plain, */*")req.Header.Set("os-type", "web")req.Header.Set("X-Authorization", "token:qgemv4jr1y38jyq6vhvi")req.Header.Set("Origin", "https://fanyi.caiyunapp.com")req.Header.Set("Sec-Fetch-Site", "cross-site")req.Header.Set("Sec-Fetch-Mode", "cors")req.Header.Set("Sec-Fetch-Dest", "empty")req.Header.Set("Referer", "https://fanyi.caiyunapp.com/")req.Header.Set("Accept-Language", "zh-CN,zh;q=0.9")resp, err := client.Do(req)if err != nil {log.Fatal(err)}defer resp.Body.Close()bodyText, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}if resp.StatusCode != 200 {log.Fatal("bad StatusCode:", resp.StatusCode, "body", string(bodyText))}var dictResponse2 DictResponse2err = json.Unmarshal(bodyText, &dictResponse2)if err != nil {log.Fatal(err)}fmt.Println("----------彩云翻译----------")fmt.Println(word, "UK:", dictResponse2.Dictionary.Prons.En, "US", dictResponse2.Dictionary.Prons.EnUs)for _, item := range dictResponse2.Dictionary.Explanations {fmt.Println(item)}fmt.Println("")
}func query(word string) {client := &http.Client{}request := DictRequest{Text: word, Language: "en"}buf, err := json.Marshal(request)if err != nil {log.Fatal(err)}var data = bytes.NewReader(buf)req, err := http.NewRequest("POST", "https://translate.volcengine.com/web/dict/match/v1/?msToken=&X-Bogus=DFSzswVLQDcCwINsSW/NZM9WX7jy&_signature=_02B4Z6wo000015fhpVAAAIDDF-NfE7sRI6-X4aHAAIeXgfG9te8myjutgShQB8jqUDatCy40MOwV-0bqoPUXu9GDqeo.aQKg0Wf1bxIiw8tkAhWWJy3ifEthBdCgN69zoNwnBh2B5hsm-2NKb1", data)if err != nil {log.Fatal(err)}req.Header.Set("authority", "translate.volcengine.com")req.Header.Set("sec-ch-ua", `" Not A;Brand";v="99", "Chromium";v="8"`)req.Header.Set("accept", "application/json, text/plain, */*")req.Header.Set("sec-ch-ua-mobile", "?0")req.Header.Set("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/30")req.Header.Set("content-type", "application/json")req.Header.Set("origin", "https://translate.volcengine.com")req.Header.Set("sec-fetch-site", "same-origin")req.Header.Set("sec-fetch-mode", "cors")req.Header.Set("sec-fetch-dest", "empty")req.Header.Set("referer", "https://translate.volcengine.com/translate?category=&home_language=zh&source_language=en&target_language=zh&text=hello")req.Header.Set("accept-language", "zh-CN,zh;q=0.9")req.Header.Set("cookie", "x-jupiter-uuid=16519923780453448; i18next=zh-CN; s_v_web_id=verify_1eac8644bba5cc2fca342fbda9d310d2; _tea_utm_cache_2018=undefined; ttcid=0622e7c8207f4922b25f1e677099901633; tt_scid=NKQPTZgJZyxBCL8qyT-pnS71RE74xJ3XV-FO8r7QN04uJ2kj8Q240-UNUSPeo1VN1aff")resp, err := client.Do(req)if err != nil {log.Fatal(err)}defer resp.Body.Close()bodyText, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}if resp.StatusCode != 200 {log.Fatal("bad StatusCode:", resp.StatusCode, "body", string(bodyText))}var dictResponse DictResponseerr = json.Unmarshal(bodyText, &dictResponse)if err != nil {log.Fatal(err)}fmt.Println("----------火山翻译----------")fmt.Println(word, "UK:", dictResponse.Words[0].PosList[0].Phonetics[0].Text, "US:", dictResponse.Words[0].PosList[0].Phonetics[1].Text)for _, word := range dictResponse.Words {for _, posList := range word.PosList {for _, explanations := range posList.Explanations {fmt.Printf(explanations.Text)}}}fmt.Println("")
}func main() {start := time.Now()if len(os.Args) != 2 {fmt.Fprintln(os.Stderr, `usage: simpleDict WORDexample: simpleDict hello`)os.Exit(1)}word := os.Args[1]// wg :=  sync.WaitGroup{}query(word)query2(word)finish := time.Now()fmt.Println("run time:", finish.Sub(start))
}

2.运行时间

二、并行后

1.完整代码

package mainimport ("bytes""encoding/json""fmt""io/ioutil""log""net/http""sync"// "strings""os""time"
)type DictResponse struct {Words []struct {Source  int    `json:"source"`Text    string `json:"text"`PosList []struct {Type      int `json:"type"`Phonetics []struct {Type int    `json:"type"`Text string `json:"text"`} `json:"phonetics"`Explanations []struct {Text     string `json:"text"`Examples []struct {Type      int `json:"type"`Sentences []struct {Text      string `json:"text"`TransText string `json:"trans_text"`} `json:"sentences"`} `json:"examples"`Synonyms []interface{} `json:"synonyms"`} `json:"explanations"`Relevancys []interface{} `json:"relevancys"`} `json:"pos_list"`} `json:"words"`Phrases  []interface{} `json:"phrases"`BaseResp struct {StatusCode    int    `json:"status_code"`StatusMessage string `json:"status_message"`} `json:"base_resp"`
}type DictRequest struct {Text     string `json:"text"`Language string `json:"language"`
}type DictResponse2 struct {Rc   int `json:"rc"`Wiki struct {KnownInLaguages int `json:"known_in_laguages"`Description     struct {Source string      `json:"source"`Target interface{} `json:"target"`} `json:"description"`ID   string `json:"id"`Item struct {Source string `json:"source"`Target string `json:"target"`} `json:"item"`ImageURL  string `json:"image_url"`IsSubject string `json:"is_subject"`Sitelink  string `json:"sitelink"`} `json:"wiki"`Dictionary struct {Prons struct {EnUs string `json:"en-us"`En   string `json:"en"`} `json:"prons"`Explanations []string      `json:"explanations"`Synonym      []string      `json:"synonym"`Antonym      []string      `json:"antonym"`WqxExample   [][]string    `json:"wqx_example"`Entry        string        `json:"entry"`Type         string        `json:"type"`Related      []interface{} `json:"related"`Source       string        `json:"source"`} `json:"dictionary"`
}type DictRequest2 struct {TransType string `json:"trans_type"`Source    string `json:"source"`UserID    string `json:"user_id"`
}func query2(word string,wg *sync.WaitGroup) {client := &http.Client{}request := DictRequest2{TransType: "en2zh", Source: word}defer wg.Done()buf, err := json.Marshal(request)if err != nil {log.Fatal(err)}var data = bytes.NewReader(buf)req, err := http.NewRequest("POST", "https://api.interpreter.caiyunai.com/v1/dict", data)if err != nil {log.Fatal(err)}req.Header.Set("Connection", "keep-alive")req.Header.Set("sec-ch-ua", `" Not A;Brand";v="99", "Chromium";v="8"`)req.Header.Set("sec-ch-ua-mobile", "?0")req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/30")req.Header.Set("app-name", "xy")req.Header.Set("Content-Type", "application/json;charset=UTF-8")req.Header.Set("Accept", "application/json, text/plain, */*")req.Header.Set("os-type", "web")req.Header.Set("X-Authorization", "token:qgemv4jr1y38jyq6vhvi")req.Header.Set("Origin", "https://fanyi.caiyunapp.com")req.Header.Set("Sec-Fetch-Site", "cross-site")req.Header.Set("Sec-Fetch-Mode", "cors")req.Header.Set("Sec-Fetch-Dest", "empty")req.Header.Set("Referer", "https://fanyi.caiyunapp.com/")req.Header.Set("Accept-Language", "zh-CN,zh;q=0.9")resp, err := client.Do(req)if err != nil {log.Fatal(err)}defer resp.Body.Close()bodyText, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}if resp.StatusCode != 200 {log.Fatal("bad StatusCode:", resp.StatusCode, "body", string(bodyText))}var dictResponse2 DictResponse2err = json.Unmarshal(bodyText, &dictResponse2)if err != nil {log.Fatal(err)}fmt.Println("----------彩云翻译----------")fmt.Println(word, "UK:", dictResponse2.Dictionary.Prons.En, "US", dictResponse2.Dictionary.Prons.EnUs)for _, item := range dictResponse2.Dictionary.Explanations {fmt.Println(item)}fmt.Println("")
}func query(word string,wg *sync.WaitGroup) {client := &http.Client{}request := DictRequest{Text: word, Language: "en"}defer wg.Done()buf, err := json.Marshal(request)if err != nil {log.Fatal(err)}var data = bytes.NewReader(buf)req, err := http.NewRequest("POST", "https://translate.volcengine.com/web/dict/match/v1/?msToken=&X-Bogus=DFSzswVLQDcCwINsSW/NZM9WX7jy&_signature=_02B4Z6wo000015fhpVAAAIDDF-NfE7sRI6-X4aHAAIeXgfG9te8myjutgShQB8jqUDatCy40MOwV-0bqoPUXu9GDqeo.aQKg0Wf1bxIiw8tkAhWWJy3ifEthBdCgN69zoNwnBh2B5hsm-2NKb1", data)if err != nil {log.Fatal(err)}req.Header.Set("authority", "translate.volcengine.com")req.Header.Set("sec-ch-ua", `" Not A;Brand";v="99", "Chromium";v="8"`)req.Header.Set("accept", "application/json, text/plain, */*")req.Header.Set("sec-ch-ua-mobile", "?0")req.Header.Set("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/30")req.Header.Set("content-type", "application/json")req.Header.Set("origin", "https://translate.volcengine.com")req.Header.Set("sec-fetch-site", "same-origin")req.Header.Set("sec-fetch-mode", "cors")req.Header.Set("sec-fetch-dest", "empty")req.Header.Set("referer", "https://translate.volcengine.com/translate?category=&home_language=zh&source_language=en&target_language=zh&text=hello")req.Header.Set("accept-language", "zh-CN,zh;q=0.9")req.Header.Set("cookie", "x-jupiter-uuid=16519923780453448; i18next=zh-CN; s_v_web_id=verify_1eac8644bba5cc2fca342fbda9d310d2; _tea_utm_cache_2018=undefined; ttcid=0622e7c8207f4922b25f1e677099901633; tt_scid=NKQPTZgJZyxBCL8qyT-pnS71RE74xJ3XV-FO8r7QN04uJ2kj8Q240-UNUSPeo1VN1aff")resp, err := client.Do(req)if err != nil {log.Fatal(err)}defer resp.Body.Close()bodyText, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}if resp.StatusCode != 200 {log.Fatal("bad StatusCode:", resp.StatusCode, "body", string(bodyText))}var dictResponse DictResponseerr = json.Unmarshal(bodyText, &dictResponse)if err != nil {log.Fatal(err)}fmt.Println("----------火山翻译----------")fmt.Println(word, "UK:", dictResponse.Words[0].PosList[0].Phonetics[0].Text, "US:", dictResponse.Words[0].PosList[0].Phonetics[1].Text)for _, word := range dictResponse.Words {for _, posList := range word.PosList {for _, explanations := range posList.Explanations {fmt.Printf(explanations.Text)}}}fmt.Println("")
}func main() {start := time.Now()if len(os.Args) != 2 {fmt.Fprintln(os.Stderr, `usage: simpleDict WORDexample: simpleDict hello`)os.Exit(1)}word := os.Args[1]var wg sync.WaitGroup// wg :=  sync.WaitGroup{}wg.Add(2)go query(word, &wg)go query2(word, &wg)wg.Wait()finish := time.Now()fmt.Println("run time:",finish.Sub(start))
}

2.运行时间

明显并行后的运行时间更快

【go语言】两个翻译引擎来提高响应速度相关推荐

  1. 利用Google在线翻译引擎制作自己的多国语言翻译机

    本文介绍如何利用Google在线翻译引擎来制作自己的多国语言翻译器.本程序利用Google的在线翻译引擎实现汉语到英语,英语到汉语,英语到日语的单词,整句的翻译.因为是在命令行运行,不支持/n,不能对 ...

  2. (转)利用Google在线翻译引擎制作自己的多国语言翻译机

    出处:http://www.blogjava.net/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post 本文介绍如何利用Google在 ...

  3. 太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc

    c语言课程设计_太空战机提高篇 C语言课程设计--太空战机 一.游戏介绍 太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机.敌方战机从右到左移动,同时上下浮动.同时隔一定的时间发射子弹,我方 ...

  4. 美剧字幕组翻译谈如何提高英语听力口语

    美剧字幕组翻译谈如何提高英语听力口语 本文可能会涉及到和九年义务教育里面相悖的地方,建议遵照老师的来,那啥听俺的结果考不及格,别找漩涡鸣人来对付俺啊. 关于英语听力提高(Listeningpart) ...

  5. c语言两个浮点数相加_C语言中两个浮点数或双精度数的模数

    c语言两个浮点数相加 As we know that modules also known as the remainder of the two numbers can be found using ...

  6. Microsoft 离线翻译引擎介绍

    随着全球化进程不断加速,中外企业的融合越来越频繁.如何打破语言的限制也成为企业最头疼问题,微软Azure有很强的翻译引擎其中中文到英文的翻译已经达到了人类的翻译水平. 但是在某些场景下,用户无法连接到 ...

  7. Rubber Translator一款更人性化的免费文献翻译工具,支持多翻译引擎

    前言 不少小伙伴应该都有阅读或翻译外文文献的需要,专门的文献翻译工具也是必须品. 但多数翻译软件的操作流程是我们选中想要翻译的文本,然后点击出现的翻译图标或通过快捷键来翻译,这对于大量翻译的工作来说很 ...

  8. 硬核测评,谷歌翻译被碾压!全球首个翻译引擎进化归来,“细节狂魔”搞定方言文言文...

    作者:刘俊寰 来源:大数据文摘 近期,一款在线机器翻译软件在日本大火. 这款翻译软件名叫DeepL,大火的原因正是因为它工作太负责了,翻译得太过准确,在日本引起了热议. 从日本网友的民间测评来看,不仅 ...

  9. 帮我用java写一个维吾尔语和汉语的翻译引擎

    非常抱歉,我不能帮您写代码.但是我可以为您提供一些指导方针. 首先,您可以使用维吾尔语和汉语之间的翻译数据,比如维吾尔语和汉语的词典数据或者翻译过的文章.您还可以使用第三方翻译 API 来获取翻译结果 ...

最新文章

  1. Linux下编译build的命令,Linux命令行下编译Android NDK的示例代码
  2. Erlang列表操作里面的变量绑定规则
  3. java日期大小比较(亲测)
  4. php集合与数组的区别,java集合与数组的区别
  5. MFC一一添加WM_USER自定义消息
  6. 系统垃圾清理.cmd
  7. phpMyAdmin导入大的sql文件
  8. ant design 预览图片_AntD框架的upload组件上传图片时遇到的一些坑
  9. 发布 128 核 Altra Max,自研内核,明年推出 5nm 处理器,“性能怪兽”Ampere 搞大事?
  10. JavaScript 中遍历对象的属性 1
  11. jquery html5 file 上传图片显示图片(上传图片预览)
  12. 机器学习之Adaboost (自适应增强)算法
  13. 如何写出高性能的SQL语句,及如何进行SQL性能分析与调优
  14. 高数:第三章(同济大学第七版)
  15. 逛Github网站显示中文教程
  16. c++ opencv的简单数字识别
  17. mysql 查询重复数据并删除
  18. 硬件工程师需要掌握什么基础知识
  19. 拳皇97c语言编码,拳皇97金手指代码
  20. 老男孩爬虫实战密训课第一季,2018.6,初识爬虫训练-实战2-自动登陆抽屉网

热门文章

  1. 在建工地扬尘在线监控系统推荐_扬尘在线监测系统在建筑工地的应用
  2. 西门子医疗发布新一代全自动生化免疫分析系统
  3. 修改windows10查询索引文件edb存放位置
  4. TI Sitara AM57x 多核SoC开发板(DSP + ARM)-性能及参数资料
  5. Camtasia 2020 20.0.2 简体中文版 — 屏幕录像微课制作软件介绍
  6. AUTOELLIOTTWAVEMAKER - 用于艾略特波浪半自动分析的 METATRADER 5 工具
  7. GDUT 排位赛2.19 E
  8. 在PowerPoint中插入Flash动画
  9. UMEditor配置
  10. Hello JPEG 2000