python中post()方法在获取获取必应网站翻译结果中的应用

您所在的位置:网站首页 必应页面翻译 python中post()方法在获取获取必应网站翻译结果中的应用

python中post()方法在获取获取必应网站翻译结果中的应用

2024-06-21 19:11| 来源: 网络整理| 查看: 265

获取必应网站翻译结果,注意中文翻译为英文与英文翻译为中文两种情况均需考虑。 网址:https://cn.bing.com/translator/ 一、分析网页 建议直接输入一句话这里建议先在空白的时候打开网页检查进network,然后直接输入一句话,这样右边加载出来的包少,便于寻找目标URL。 无无 这是原文请求参数,所以data参数就可以按照这个格式构建。data:{‘fromLang’:‘auto-detect’,‘text’:原文,‘to’:‘zh-Hans’} ,大概就是这样了。这里的’fromLang’:'auto-detect’具体表示个啥我也不要清楚,可能表示一个句子的意思吧,试过汉译英英译汉这个都不变,所以直接让它这样就得了。 ‘text’:原文,这个就不用说了,这是存原文的参数。 ‘to’:‘zh-Hans’ 这个,表示译文是啥,zh-Hans表示简体中文,en表示英文,这里就只做汉译英英译汉了,其实别的语言有别的参数。 还有一点就是这个URL,它有翻译一个词一个词那种的,也有直接翻译一个句子的,我这里这个是直接翻译一个句子的,这么说吧,最好用直接翻译一个句子的,因为翻译句子的能翻译单个词的,翻译单个词的不一定能翻译一个句子,顶多就是在汉译英的时候首字母是大写的,别的毛病应该不大。 因为中英互译的时候控制译文的参数不一样,所以需要判断一下输入的是汉字还是单词,这里用这个 \u4e00 ~ \u9fff 这玩意是中文字符的编码范围。别的也没啥了。 二、代码

import requests def start_tran(): content = input('需要翻译的内容呀:\n') from_data = {} for i in content: if '\u4e00''fromLang':'auto-detect','text': content, 'to': 'zh-Hans'} break return from_data def translate(from_data): url = 'https://cn.bing.com/ttranslatev3?isVertical=1&&IG=FFEB3453664B412382446351E8F72096&IID=translator.5028.63' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'} r = requests.post(url,data = from_data ,headers=headers) r.raise_for_status() #print(r.status_code) r.encoding = r.apparent_encoding data = r.json() # 取出翻译结果 detectedLanguage = data[0] translations = detectedLanguage['translations'] result = translations[0]['text'] print(result) translate(start_tran())

还是JAVA的代码块好用(小声bb) 代码运行结果

需要翻译的内容呀: 我能送你回家吗,外面可能要下雨啦。 您输入的是中文!!! Can I take you home? It may rain outside.

英译汉同样行得通。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3