30行爬虫代码实现中英互译

2024-01-11 15:10
文章标签 代码 实现 爬虫 30 互译

本文主要是介绍30行爬虫代码实现中英互译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

最近在学习英语(我是个英语渣渣),加上看英文论文难免少不了要翻译,所以就用python爬虫实现中英翻译的小程序,于是今天就记录一下这个过程,同时也希望分享给粉丝们能够学习,谢谢。

一、准备工作

目标网站

http://fanyi.youdao.com/

这里是选择的有道翻译

开发环境

开发工具:Pycharm
python版本:python3.6.5
浏览器:Google

二、网页分析

在Google浏览器中按F12可以查看获取数据包

翻译请求链接

http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

这个翻译请求链接,通过这个url与有道服务器进行数据交换

翻译请求表单

在FormData里面是发送到请求链接的表单,比如参数i是待翻译的内容

i:我是李运辰

数据请求响应

在Response响应数据包里translateResult可以看到响应的内容

{"translateResult":[[{"tgt":"I'm Li Yunchen","src":"我是李运辰"}]],"errorCode":0,"type":"zh-CHS2en"}

三、代码实现

请求头Header

request.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')

所需库

import urllib.request as req
import urllib.parse
import json

请求url

# 输入请求URLurl = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom='

数据包表单

data = {}
# 将请求表单以字典的形式写入data传入,i表示需要翻译的内容
data['i'] = content
data['from'] = 'AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] = '16099982906531'
data['sign'] = 'a9d35d5d61ef0421160b9d53b6dff04f'
data['lts'] = '1609998290653'
data['bv'] = '4f7ca50d9eda878f3f40fb696cce4d6d'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_CLICKBUTTION'

为了防止乱码,进行UTF-8编码

urllib.parse.urlencode(data).encode('utf-8')

开始请求

request = req.Request(url, data)
response = req.urlopen(request)
html = response.read().decode('utf-8')

解析结果

# 根据返回内容获取翻译结果target = json.loads(html)target = target['translateResult'][0][0]['tgt']print(target)

四、测试结果

中文---->英文

英文翻译成中文

当输入!q时,结束程序。

五、结尾

OK,以上就是Python爬虫的实现中英互译的过程,记录生活,分享生活,有不明白的小伙伴可以在下方评论交流。好了,期待下次的分享。

加群获取学习资料

公众号回复:小白入门

各种爬虫源码获取方式

公众号回复:爬虫源码

------------------- End -------------------

分析B站《送你一朵小红花》弹幕评论

快手解析视频真实链接(爬取快手视频)

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

 

 

 
【加群获取学习资料QQ群:901381280】
【各种爬虫源码获取方式】
识别文末二维码,回复:爬虫源码
欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
回复【开源源码】免费获取更多开源项目源码

ÃæÃìÃâÃèÃÿÃæÃëÃçÃà

这篇关于30行爬虫代码实现中英互译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/594781

相关文章

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使