Python+selenium实现谷歌翻译

一、需求分析

我们知道,网上有很多的翻译平台,比如:Google翻译、百度翻译、有道翻译、微软翻译等等。本次我们来使用selenium模块实现对Google翻译的爬取的实现。

我们需要上传一个文件给Google翻译,然后再将Google翻译的结果保存在一个文件之中。

当然了,我们是全自动化的处理了啦。也就是说我们使用程序自动的进行这些翻译的操作。

二、Google 翻译介绍

显然,如果你想要访问Google翻译是需要一些魔法知识的,这个不方便在这里叙述,所以如果有需要的话可以私信我,我可以私下教你如何处理了啦。

Google翻译有两种功能,第一种是直接翻译文本,第二种是翻译一个文件里面的内容:

在这里插入图片描述

这是直接翻译文本的界面。

在这里插入图片描述

这是翻译一个文件中的内容的界面。

我们本次使用的是第二种方法,即就是上传一个文件让它来翻译。当然了,我们前面说了我们是使用程序来进行自动化的操作了啦。

三、网页界面的分析(网页检查)

我们打开网页检查的分析界面:

在这里插入图片描述

然后,我们知道需要首先点击文档的按钮,然后点击选择文件的按钮:

1、点击文档按钮进行跳转:

我们首先找到文导航这个按钮的位置:

我们使用元素选择工具进行选择:

在这里插入图片描述

2、点击选择文档的按钮:

与上面的那个是一样的方法:

在这里插入图片描述

然后呢,当我们完成了添加文件的操作以后,会出现一个翻译的按钮:

在这里插入图片描述

我们还需要点击那个翻译的按钮才可以获取得到翻译的结果。

四、使用Python进行实现功能(selenium模块)

我们直接给出代码。里面有比较详细的注释了啦:

python学习交流Q群:906715085###
from selenium import webdriver

导入 python 的 selenium 模块

def transfer(path):    
"""    
这个函数是用作访问谷歌翻译的,首先获取文件的路径,然后向浏览器发送。    
:param path: 你想要翻译的文件的绝对路径。    
:return: 空    
"""    
browser = webdriver.Chrome()    # 创建浏览器对象    
browser.get('https://translate.google.cn/'                
'?hl=zh-CN&tab=TT&sl=zh-CN&tl=en&op=translate')    
# 访问谷歌翻译的网址    
# 里面的参数设置了语言的翻译,我们可以进行修改,这里是将汉语翻译成为英语    h1 = browser.current_window_handle    
# 记录当前的页面    
# 这个操作是放置点击以后找不到我们想要的页面了啦    
ele = browser.find_elements_by_tag_name("button")    
# 获取得到 button 标签并且点击 button    
# 这里采用了通过标签名来获取 button 的方法来进行获取标签,方便后面的点击操作    ele[1].click()    
# 点击 button    all_h = browser.window_handles    
# 获取得到所有的页面    browser.switch_to.window(all_h[0])    
# 选择当前的页面    h2 = browser.current_window_handle    upload = browser.find_element_by_id('i34')    
# 获取得到 “添加文件” 的那个按钮的标签    
# 这个标签的 id 是我们通过网页检查获取得到的啦    upload.send_keys(path)    
# 上传文件    
# path 是文件的绝对路径,有我们自己选择指定    print(upload.get_attribute('value'))    
# 打印显示文件的路径    browser.find_elements_by_tag_name("button")[39].click()    
# 这个是点击上传文件成功以后的翻译按钮        
res = browser.page_source    # 这个是获取得到页面的内容    
with open("result.txt", "w+") as f:        # 这里是将翻译的结果写入一个文件        
# 打开一个文件,然后将内容写入这个文件里面        
print(res[30: len(res) - 20])        # 显示翻译的结果                
f.write(res[30: len(res) - 20])        # 将翻译的结果写入文件之中                
f.close()        # 操作完成文件以后还是需要进行关闭的操作的啦         
browser.close()    # 所有的操作完成以后需要关闭浏览器了啦
if __name__ == '__main__':    # main函数    # 这个是测试    
transfer(path=r"C:\Users\1\Desktop\Google翻译\google_transfer0\test.txt")    #
 将文件的位置传递到形参 path 里面

 

把注释去掉以后的代码如下:

from selenium import webdriver
def transfer(path):    
browser = webdriver.Chrome()    
browser.get('https://translate.google.cn/'                '?hl=zh-CN&tab=TT&sl=zh-CN&tl=en&op=translate')    
h1 = browser.current_window_handle    
ele = browser.find_elements_by_tag_name("button")    
ele[1].click()    
all_h = browser.window_handles    
browser.switch_to.window(all_h[0])    
h2 = browser.current_window_handle    
upload = browser.find_element_by_id('i34')    
upload.send_keys(path)    
print(upload.get_attribute('value'))    
browser.find_elements_by_tag_name("button")[39].click()    
res = browser.page_source    
with open("result.txt", "w+") as f:        
print(res[30: len(res) - 20])        
f.write(res[30: len(res) - 20])        
f.close()    
browser.close()if __name__ == '__main__':    
ransfer(path=r"C:\Users\1\Desktop\Google翻译\google_transfer0\test.txt")
五、测试功能

 

我们进行测试:

test.txt文件:
在这里插入图片描述

翻译完成以后生成的文件:

在这里插入图片描述

交互端的打印:

在这里插入图片描述

以上就是我们的测试,从而看出,已经实现了我们想要的功能了啦。今天的代码好像也不是特别多,十分适合拿来练手手,到这

里就分享结束了,下一章见…

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python+selenium实现谷歌翻译 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python 数据分析之双色球高频数据统计

    基础数据准备 基础数据是通过爬虫获取到。 以下是从第一期03年双色球开奖号到今天的所有数据整理,截止目前一共2549期,balls.txt 文件内容如下 Python 代码实现 分析数据特征和数据处理方式选择 python学习交流Q群:906715085### #导入Counter from collections import Counter def re…

    Python开发 2023年4月2日
    00
  • Python 实现校园网自动登录

    背景 我在的学校校园网登录是web式的,即随便打开一个网页就会自动跳转到登录页面,然后输入用户名密码,点登录,便可以上网了。 但这种登录方式有个缺点:登录状态不会一直保持下去。即过一段时间就会掉线,然后你需要重新登陆才行。这个时间大概是一天。 这就蛋疼了,想让实验室的电脑随时保持联网状态怎么办呢?(有时候我需要远程我的电脑) 这个时候可以用python脚本解…

    Python开发 2023年4月2日
    00
  • 【Python】实现自动扫雷,挑战世界纪录

    前言 大家好,欢迎来到 Crossin的编程教室 ! 今天给大家分享的这个案例是用 Python+OpenCV 实现了自动扫雷,并突破了人类的世界记录。(当然 这不算哈) 咱们废话不多说,先看成果~ 中级 – 0.74秒 3BV/S=60.81 相信许多人很早就知道有扫雷这么一款经典的游(显卡测试)戏(软件),更是有不少人曾听说过中国雷圣,也是中国扫雷第 一…

    Python开发 2023年4月2日
    00
  • Python 视频制作神器 — Manim入门篇

    今天分享一篇文章,是关于如何使用 Manim 这个工具 Python 工具库来制作视频的。 据我所知,目前应该是没有专门的书籍和教程来介绍这个工具的。至于教程,不同版本的Manim有一部分文档,其中 Manim社区 版的文档相对而言要完善些。 本次仅介绍 Manim 中 文本 的使用,使用的版本为 Manim Community v0.14.0,本文内容主要…

    Python开发 2023年4月2日
    00
  • 教你用python爬取美女照片,未成年不能学

    又到每天Python小技巧分享的时候了,今天给大家分享的是怎么样去爬取清纯小姐姐照片(没有人会拒绝美女吧,小声说),这篇文章好像有点刺激,未成年的小伙伴就不要进来了。快来看看这些清纯的小姐姐的容颜,话不多说,上教程。 先来看看效果图 不好意思,图片有点辣眼睛,被拦截了,还没有还给我….. import re import requests import …

    Python开发 2023年4月2日
    00
  • Python人脸识别签到考勤系统

    前言 本项目为IOT实验室人员签到考勤设计,系统实现功能: ◦人员人脸识别并完成签到/签退 ◦考勤时间计算 ◦保存考勤数据为CSV格式(Excel表格) PS:本系统2D人脸识别,节约了繁琐的人脸识别训练部分,简洁快捷 该项目为测试版,正式版会加入更多的功能,持续更新中… 测试版项目地址我会放到结尾 项目效果图 登陆界面 主界面展示图: 签到功能展示 签退功…

    Python开发 2023年4月2日
    00
  • 【无敌Python 】增强视频画质,就应该这么做

    原理 不知道大家小时候有没有玩过这个? 最早的动画就是这么形成的,记得小时候还有这种小书卖。 其实视频的原理也是这样,一个视频是由很多张图片组成的,一个图片是一帧。所以我们要对视频进行画质增强,可以拆分成对 每一帧的图片进行操作,这个操作我们在前面介绍过。 因此,对视频进行画质增强的方法可以分为三步:拆分->处理->合成。 拆分 我们在第一篇文章…

    Python开发 2023年4月2日
    00
  • Python实战项目7个有趣的小游戏

    每天都会分享几个有趣的Python小知识,现在给大家分享几个适合新手练习的小项目,好玩不烧脑,提升技能不在话下。等会就叫你的室友跟你一起VS,轻轻松松成为卷王。 但是问题有三个: 1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。 2、确实没重复造轮子,但是在重复制造汽车。包括好多大神写的…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部