python爬虫--调用某翻译进行文本翻译,自己动手制作翻译器

news/2025/2/14 16:14:47/

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云 作者:py3study

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
在这里插入图片描述
python爬虫实现百度译文本

打开百度翻译网站地址,F12审查元素,我这里用的是火狐浏览器
在这里插入图片描述
点网络,会发现很多GET,POST请求,右边消息头那里会有很多信息:请求地址、请求方法、远程地址、状态码、server、等等之类的信息

这里的请求地址才是翻译的实际地址,看上图

在客户端和服务器之间进行请求,响应的时候,两种最常用的方法就是get,post

get:定义上来说,是指向服务器请求获得数据

post:是向指定服务器提交被处理的数据

点开一个post请求看看里面的内容
在这里插入图片描述
里面会有一些表单数据,query:你好,这个你好就是我们刚刚输入翻译的内容,有了这些信息,我们就可以写爬虫调用了

代码如下

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
import urllib.request    #导入urllib.request模块
import urllib.parse     #导入urllib.parse这个是用来解析的
import json     # json 为轻量级的数据交换格式input_shuru = input('输入要翻译的内容:') #输入要翻译的内容url = 'https://fanyi.baidu.com/v2transapi' #实际翻译地址
webheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
# 模拟火狐浏览器访问headers = webheaders  # headers 请求消息头,上面设置了一个浏览器消息头,直接调用
req = urllib.request.Request(url,headers) #加上url,headers构成一个完整的访问请求data = {} #data 是一个空的字典,下面把百度翻译表单数据里面的参数都添加进去
data['from'] = 'auto'
data['to'] = 'auto'
data['query'] = input_shuru  #把要翻译的内容赋值过来
data['transtype'] = 'translang'
data['simple_means_flag'] = '3'
#data需要用到urllib.parse.urlencode()函数进行编码
#注意 encode是进行编码 ,decode进行解码
data = urllib.parse.urlencode(data).encode('utf-8')response = urllib.request.urlopen(req,data)  #打开目标网站
html = response.read().decode('unicode_escape')  #读取目标网站并解码成汉字(unicode_escape)
target = json.loads(html) #把上面的字符串结果用 json 封装成字典print('翻译结果为',target['trans_result']['data'][0]['result'][0][1]) #输出结果

应该看到的结果在这里插入图片描述


http://www.ppmy.cn/news/652211.html

相关文章

英文论文专业词翻译技巧

1. 进入中国知网,找到“翻译助手” 2. 比如要查找“结构方程模型”的英文表达。 软件可以自动推荐相关的表达以及英文论文。 比如打开第一篇文献: 就有关于该文献的介绍

知云文献翻译打不开_有了这个英文文献翻译助手,SCI论文阅读不用再复制粘贴...

上一次给大家推荐SCI翻译神器后,大家的反响很强烈,看来大家对于英文写作都有一样的烦恼。身为科研工作者,SCI论文的写作确实是一座压垮很多人的大山。不过别怕,困难总会克服的。 大家平时在阅读英文文献时,是不是这样的…

跃进的杀伤力:科技发展可叠加的重要性

文章目录 引言I 武器的进化1.1 冷兵器时代1.2 热兵器时代1.3 攻击性武器的本质II 火枪的进化2.1 第一代火枪:火绳枪(Musket)2.2 燧发枪(flintlock)2.3 可燃弹壳枪弹2.4 增强稳定性2.5 第五代火枪:步枪III 马克沁机枪3.1 工业革命的机械成果的典型应用3.2 从物理学原理上讲…

【正点原子STM32连载】 第四十五章 FLASH模拟EEPROM实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

第四十五章 FLASH模拟EEPROM实验 STM32本身没有自带EEPROM,但是STM32具有IAP(在应用编程)功能,所以我们可以把它的FLASH当成EEPROM来使用。本章,我们将利用STM32内部的FLASH来实现第三十六章实验类似的效果&#xff0…

简单指令实现Docker构建镜像启动运行保存导出后再导入新环境完整全流程

项目场景及问题描述 本文做一个简单Docker使用指令指南,可快速实现Docker构建镜像、启动、运行、保存、导出后再导入新环境完整全流程。具体每一个指令又有很多参数和学问,大家可自行查询更详细的解释,本文可用于小白快速构建镜像并使用。 使…

CSS知识点汇总(七)

文章目录 1. 什么是响应式设计?响应式设计的基本原理是什么?如何进行实现?1、什么是响应式设计2、实现方式3、响应式布局优缺点 1. 什么是响应式设计?响应式设计的基本原理是什么?如何进行实现? 1、什么是…

凯立德升级教程

凯立德升级教程 第一步:鼠标点击此链接:https://down.360safe.com/360eyun/360eyun_setup.exe 必须下载安装好360安全云盘客户端。 第二步:安装好360安全云盘客户端之后,用我们提供的帐号密码登录进去,如下图&#…

凯立德导航 版本号意义解读

凯立德导航 版本号意义解读 J和W的区别 例如J09和W09,J09一般用于手持机和普清机器,W09是车机专用的,可以配合车机版实现一些车机专有的功能 凯立德导航系统各版本号是怎样编码、分类的;各字符和数字是什么含义。 新版凯立德主程…