Python获取百度翻译的两种方法

news2024/11/16 9:35:45

一、引言

百度是我们常用的搜索工具,其翻译是与爱词霸合作,总体看其反应速度较快,可以作为项目中重要的翻译工具。根据大家的需要,现提供两种Python获取百度翻译的两种办法:

二、requests法

我们引用requests模块,向百度发出post请求,得到回复后,进行解释为json格式数据。代码如下:

import requests  #找一个趁手的工具,1. 导入这个工具
url = "https://fanyi.baidu.com/sug"  # 2. 确定爬取的网址,存到变量里面url
#3. 伪装爬虫
headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
           "cookie":'PSTM=1715648276; BIDUPSID=4FAECEB2016218E5337788D59D97E028; BAIDUID=A4621D4AF575EB35000B164A4D71A6C9:FG=1; BDSFRCVID=gDDOJexroG3M1QJttZbIbSp-4cGQd7cTDYLEOwXPsp3LGJLVYVGdEG0PtEXPGLtMnhULogKKBeOTHg4F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=Jn-O_C82JKL3HJOmMJjE5bcHMhoK--Q0KKJyLR-8Kb7VbPQCyUnkbfJBDloD-l3-ajnJ0qboKfO2KDbTyT5OL447yajDJjOuXKJi_JC-QbT8ob53DJ7pQT8r2xDOK5OibmDqslnNab3vOpoNXpO1bT0zBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksDhAtqj0OfnIe_I0KfbjjfbTCMJOBq4k0-qJ-a4JQa5TbsJOOaCv5OpOOy4oTj6D0KqonK46JbIcBsRoR-TCMepk4MU5o3MvBKHKjWlRQWbcLof3V2fnq_Ij9Qft20bIEeMtjBbQuJtj7KR7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8bjHCJt6K8JbujoKvK-nO5KRQphRrhq4tehH4O5xJ9WDTOQJ7TthCaVqcm5h6D0-D9K2FJ5MbI5nv2-pbwBp5Cfb5K0jJHyUIzynjkLfbb3mkjbPbNyUJn8-bEh47lX-4syPRGKxRnWIkJKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCFMMDLwjTK2DTPBKMbeet5Kaj5tsJOOaCkWHqOOy4oWK441DPFDQxTJbNQabnoR-TCMHp3hb5Jj3M04X-oN-PQpLRvKahcIWMQZSl3gQft20b0kWb3xWn3uaDbP2n7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCJt6K8JbujoKvt-5rDHJTg5DTjhPrMbPORWMT-MTryKKOztxjkf-bL-xrD0nODjMbxQ40fKanRhlRNB-3iV-OxDUvnyxAZWJjxKUQxtNRJKxnx3hRM8Jrd3fvobUPULxo9LUvMJgcdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLK-oj-D8lj5AM3j; BD_UPN=12314753; H_WISE_SIDS=60360_60600_60728_60749; delPer=0; BD_CK_SAM=1; BAIDUID_BFESS=A4621D4AF575EB35000B164A4D71A6C9:FG=1; BDSFRCVID_BFESS=gDDOJexroG3M1QJttZbIbSp-4cGQd7cTDYLEOwXPsp3LGJLVYVGdEG0PtEXPGLtMnhULogKKBeOTHg4F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=Jn-O_C82JKL3HJOmMJjE5bcHMhoK--Q0KKJyLR-8Kb7VbPQCyUnkbfJBDloD-l3-ajnJ0qboKfO2KDbTyT5OL447yajDJjOuXKJi_JC-QbT8ob53DJ7pQT8r2xDOK5OibmDqslnNab3vOpoNXpO1bT0zBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksDhAtqj0OfnIe_I0KfbjjfbTCMJOBq4k0-qJ-a4JQa5TbsJOOaCv5OpOOy4oTj6D0KqonK46JbIcBsRoR-TCMepk4MU5o3MvBKHKjWlRQWbcLof3V2fnq_Ij9Qft20bIEeMtjBbQuJtj7KR7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8bjHCJt6K8JbujoKvK-nO5KRQphRrhq4tehH4O5xJ9WDTOQJ7TthCaVqcm5h6D0-D9K2FJ5MbI5nv2-pbwBp5Cfb5K0jJHyUIzynjkLfbb3mkjbPbNyUJn8-bEh47lX-4syPRGKxRnWIkJKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCFMMDLwjTK2DTPBKMbeet5Kaj5tsJOOaCkWHqOOy4oWK441DPFDQxTJbNQabnoR-TCMHp3hb5Jj3M04X-oN-PQpLRvKahcIWMQZSl3gQft20b0kWb3xWn3uaDbP2n7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCJt6K8JbujoKvt-5rDHJTg5DTjhPrMbPORWMT-MTryKKOztxjkf-bL-xrD0nODjMbxQ40fKanRhlRNB-3iV-OxDUvnyxAZWJjxKUQxtNRJKxnx3hRM8Jrd3fvobUPULxo9LUvMJgcdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLK-oj-D8lj5AM3j; channel=baidusearch; baikeVisitId=356e66e5-f4fb-4dd9-99a8-06bbc9ceb739; __bid_n=18ea75651ea4944bc97197; BD_HOME=1; H_WISE_SIDS_BFESS=60360_60600_60728_60749; B64_BOT=1; COOKIE_SESSION=5687_0_7_7_7_16_0_0_4_6_0_0_715485_0_6_0_1727255911_0_1727255905|9#169_6_1718709886|3; PSINO=7; BDRCVFR[S4-dAuiWMmn]=mk3SLVN4HKm; BDRCVFR[k-3xBxsWSJs]=mk3SLVN4HKm; H_PS_PSSID=60600_60794_60826_60844; BA_HECTOR=85808lal0h0g0k8g8h258h8h8nq73q1jfd5bi1v; ZFY=CcXTJMCi9ht2ML4gezdFtbE9Uar1JmpUfQgd:BgWOiis:C'}
while True:
    word = input("请输入单词:")
    resp = requests.post(url,headers = headers, data = {"kw":word})  # 发请求
    for item in resp.json()['data']:
        #想看效果,就打印Item
        print(item["v"])

三、urllib法

导入urllib,发出Request向url请求,再用urlopen读取并编码为utf-8,最后获取单词的翻译,代码如下:

from urllib import request, parse
import json
def translate_word(string):
    url = "https://fanyi.baidu.com/sug"  # 请求数据的url链接
    data = {'kw': string}
    data_url = parse.urlencode(data)
    req = request.Request(url=url, data=data_url.encode('utf-8'))
    response = request.urlopen(req).read()
    res = json.loads(response)
    if 'data' in res and len(res['data']) > 0:
        trans_list = res['data'][0]['v']
        if ';' in trans_list:
            trans = trans_list.split(';')
        else:
            trans = trans_list
    else:
        trans = "翻译失败"
    return trans_list
print(translate_word("think"))

四、学后反思

对比两种两法,获取的数据内容不尽相同,第二种获取的内容较少,第一种获取的内容更为全面,方法也简单,但是获取的内容有重复。

大家可以根据个人的需求,选择适合自己的代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2172091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

构建5G-TSN测试平台:架构与挑战

论文标题:Building a 5G-TSN Testbed: Architecture and Challenges 作者信息: Anna Agust-Torra, Marc Ferr-Mancebo, David Rincn-Rivera, Cristina Cervell Pastor, Sebasti Sallent-Ribes,来自西班牙巴塞罗那的加泰罗尼亚理工大学&…

裁剪视频如何让画质不变?一文教会你

当我们想要从一段视频中提取精华,裁剪视频就成了必不可少的技能。 但是,如何做到在裁剪过程中不损害画质,保持视频原有的清晰度和流畅度呢? 这不仅需要技巧,还需要对视频编辑有一定的了解。 本文将为你介绍四种裁剪…

Redis篇(数据类型)

目录 讲解一:简介 讲解二:常用 一、String类型 1. 简介 2. 常见命令 3. Key结构 4. 操作String 5. 实例 二、Hash类型 1. 简介 2. 常见命令 3. 3操作hash 4. 实例 三、List类型 1. 简介 2. 特征 3. 应用场景 4. 常见命令 5. 操作list …

13.安卓逆向-frida基础-编写hook脚本1

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

外国电影演员识别系统源码分享

外国电影演员识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

AI产品经理必知:核心人工智能技术概览

第一章:AI产品经理是否需要懂技术及其程度 在当今AI行业快速发展的背景下,作为一位AI产品经理,理解并掌握一定的AI技术知识不仅是锦上添花,更是不可或缺的素质。那么,AI产品经理究竟需要懂到何种程度的技术呢&#xf…

国内车市销量激增,理想成功超越BBA

文/王俣祺 导语:随着“金九银十”的到来,国内汽车市场迎来了一个充满活力的开局。乘用车市场的销量已经迎来新的突破,彰显出中国汽车市场的韧性和潜力。尤为引人注目的是,新能源汽车销量同样激增,成为推动市场增长的重…

C++--IO流

目录 1. C语言的输入与输出 2. 流是什么 3. CIO流 4 stringstream的简单介绍 1. C语言的输入与输出 C 语言中我们用到的最频繁的输入输出方式就是 scanf () 与 printf() 。 scanf(): 从标准输入设备 ( 键 盘 ) 读取数据,并将值存放在变量中 。 printf(): 将…

C++ : 多态

1. 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。 举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学…

通过队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int to…

基于微信小程序爱心领养小程序设计与实现(源码+定制+开发)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

基于Hive和Hadoop的电信流量分析系统

本项目是一个基于大数据技术的电信流量分析系统,旨在为用户提供全面的通信数据和深入的流量使用分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 Spark…

无人船在海洋勘探领域的应用!

一、具体应用 海底地形测绘: 无人船可以搭载多波束测深仪等先进设备,进行高精度的海底地形测绘。这些设备能够生成详细的海底地形图,为海洋工程设计和施工提供详尽的水下地形资料。 海底资源勘探: 通过搭载磁力仪、重力仪等地…

安卓手机视频被误删怎么恢复,这3个方法满足你

视频作为一种直观、生动的记录方式,受到了广大用户的喜爱,许多朋友们都喜欢用视频来记录生活或工作中的重要时刻。但有时候会遇到突发情况,导致这些重要视频丢失。别担心,下面小编将同您一起探索这视频恢复的方法,轻松…

springboot健康管理平台-计算机毕业设计源码38430

摘要 本研究旨在设计和实现一个基于大数据的健康管理平台,该平台整合了健康测评、健康知识、体检信息、健康日志、健康数据、我的账户、体检预约、体检报告、健康预测和测评报告等功能模块。随着大数据技术的快速发展,健康管理领域也迎来了新的机遇。随着…

初识Vue3(详细版)

目录 前言 Vue3简介 spring 和Vue3 区别 创建Vue3工程 1 使用vite 构建 0 前提;安装好node.js(node.js作为JavaScript的运行环境) 1 打开终端,切换到桌面(或自己专门创建一个文件夹单独放置) 2 输入命令:npm ge…

32 C 语言指针的长度与运算(指针加减整数、指针自增自减、同类型指针相减、指针的比较运算)

目录 1 指针的长度 2 指针与整数的加减运算 3 指针自增与自减 4 同类型指针相减 5 指针的比较运算 6 测试题 1 指针的长度 在 C 语言中,sizeof 运算符可以用来计算指针的长度。指针的长度实际上与指针所指向的数据类型无关,而是与系统的位数&…

人工智能开发实时语音识别系统应用

内容提要 项目分析预备知识项目实战 一、项目分析 1、问题提出 数字0-9是我们生活中常见的10个基数,在医院、银行、饭店等场所,由于资源和人手的受限,人们必须排队等候服务,叫号系统应运而生。 任何一个数字,都是…

掌握AI提示词的艺术:应用、防护与成为提示词专家的策略

掌握好提示词的编写,可以用来做的事情: 写简历、输出面试题、输出ppt、思维导图、提取摘要、翻译、总结会议纪要、总结审计报告、数据分析、写广告/营销/请假等跟文字相关的文案、爆款文章、小说、写周报/月报。 如何写提示词 4大原则 1、 指令要精简…

干部画像——精准辅助干部选拔的核心利器

干部画像,作为现代干部管理体系中的一项重要创新,已逐步成为精准辅助干部选拔的核心利器。通过综合运用多维度信息收集、系统化整理与科学化分析的方法,全面、客观、真实地勾勒出每位干部的综合素质与能力画像,为干部选拔工作提供…