文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python接入使用百度翻译流程

2024-04-02 19:55

关注

一、分析网页

1. 打开网页,在搜索框输入百度翻译并进入百度翻译网站中。F12调出开发者工具,点击Network(网络)\ Fetch/XHR,同时在翻译框中任意输入搜索内容,此时就会发现有一个名称为sug的包。点击该包,点击后会看到有Heders、Payload、Preview和Rsponse等选项。点击Heders选项,将Request URL:后面的网址复制,这就是我们代码中需要的url。

2.在Heders选项中鼠标滚轮到最下方,找到User-Agent:并将后面的参数复制,就是我们所需的headers(请求头参数)。

3.页面中点击Payload选项,在Form Data选项下我们会看到有键值对的参数。前面的”键“相当于百度翻译中的搜索框,而后面的值就是我们输入的翻译内容。这部分参数就是data参数,data参数是以字典方式传递,所以这个”键“即kw就是我们所需的data参数的键。

激动人心的时刻,找到以上参数就可以下一步了!!!

二、使用步骤

1.导入库

代码如下(示例):

import requests     
import json

2.键盘输入内容

代码如下(示例):

fan_yi = input("请输入要翻译的内容:") # 2.键盘输入翻译内容

该处使用的url网络请求的数据。

3.构建url/headers/data参数

这里面的headers参数因为设备不同可能会报错,大家可以根据我上面的网页分析去找自己电脑浏览器的参数,复制过来就行了。

注意事项:headers参数是以字典的形式存在的,其键和值都是字符串格式,还有User-Agent参数中的U字母和A字母都必须是大写,如果粗心写错了是会报错的哟。

代码如下(示例):

import requests     # 1.导入库
import json
fan_yi = input("请输入要翻译的内容:")    # 2.键盘输入翻译内容
url = "https://fanyi.baidu.com/sug"     # 3.写入url
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "}  # 4.构建headers
data = {"kw":fan_yi}    # 5.构建data
rsponse1 = requests.post(url = url,headers = headers,data = data)   # 6.发起请求
rsponse2 = rsponse1.text    # 获取响应数据
jie_xi = json.loads(rsponse2)   # 解析数据
print(jie_xi)   # 输出结果

4.发起请求响应数据

代码如下(示例):

rsponse1 = requests.post(url = url,headers = headers,data = data)   # 发起请求
rsponse2 = rsponse1.text    # 获取响应数据

5.解析数据输出结果

代码如下(示例):

jie_xi = json.loads(rsponse2)   # 解析数据
print(jie_xi)   # 输出结果

三、完整代码

注意事项:headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "} 这一部分中的"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "我已经删减所以直接复制过去运行会报错,因按照如下图找到自己电脑浏览器的User-Agent:后面的参数复制进代码修改才行。

重要的事情讲三遍!!!:headers参数是以字典的形式存在的,其键和值都是字符串格式,还有User-Agent参数中的U字母和A字母都必须是大写,如果粗心写错了是会报错的哟。

重要的事情讲三遍!!!:headers参数是以字典的形式存在的,其键和值都是字符串格式,还有User-Agent参数中的U字母和A字母都必须是大写,如果粗心写错了是会报错的哟。

重要的事情讲三遍!!!:headers参数是以字典的形式存在的,其键和值都是字符串格式,还有User-Agent参数中的U字母和A字母都必须是大写,如果粗心写错了是会报错的哟。

方法一:中规中矩写

代码如下(示例):

import requests     # 导入库
import json
fan_yi = input("请输入要翻译的内容:")    # 键盘输入翻译内容
url = "https://fanyi.baidu.com/sug"     # 写入url
# 构建headers
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 "}  
data = {"kw":fan_yi}    构建data
rsponse1 = requests.post(url = url,headers = headers,data = data)   # 发起请求
rsponse2 = rsponse1.text    # 获取响应数据
jie_xi = json.loads(rsponse2)   # 解析数据
print(jie_xi)   # 输出结果

方法二:将代码封装到函数里

def fangYi(data1):
    url = "https://fanyi.baidu.com/sug"
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)
    data = {"kw":data1}
    rsponse1 = requests.post(url = url,headers = headers,data = data)
    rsponse2 = rsponse1.content.decode()
    json1 = json.loads(rsponse2)
    print(json1)
if __name__ == '__main__':
    while True:
        data1 = input("+++++请在下方输入要翻译的内容,退出请输入”no“+++++\n\t请输入要翻译的内容:")
        if data1 == "no":
            break
        else:
            fangYi(data1)

到此这篇关于python接入使用百度翻译流程的文章就介绍到这了,更多相关python百度翻译内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯