丁辉优秀作者
原创内容 来源:小居数码网 时间:2024-08-15 16:36:01 阅读() 收藏:28 分享:63 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1347个文字,大小约为6KB,预计阅读时间4分钟。
一、需求分析
我们知道,网上有很多的翻译平台,比如:Google翻译、百度翻译、有道翻译、微软翻译等等。本次我们来使用selenium模块实现对Google翻译的爬取的实现。
我们需要上传一个文件给Google翻译,然后再将Google翻译的结果保存在一个文件之中。
当然了,我们是全自动化地处理了啦。也就是说我们使用程序自动地进行这些翻译的操作。
二、Google 翻译介绍
显然,如果你想要访问Google翻译是需要一些魔法知识的,这个不方便在这里叙述,所以如果有需要的话可以私信我,我可以私下教你如何处理了啦。
Google翻译有两种功能,第一种是直接翻译文本,第二种是翻译一个文件里面的内容:
这是直接翻译文本的界面。
这是翻译一个文件中的内容的界面。
我们本次使用的是第二种方法,即就是上传一个文件让它来翻译。当然了,我们前面说了我们是使用程序来进行自动化的操作了啦。
三、网页界面的分析(网页检查)
我们打开网页检查的分析界面:
然后,我们知道需要首先点击文档的按钮,然后点击选择文件的按钮:
1、点击文档按钮进行跳转:
我们首先找到文导航这个按钮的位置:
我们使用元素选择工具进行选择:
2、点击选择文档的按钮:
与上面的那个是一样的方法:
然后呢,当我们完成了添加文件的操作以后,就会出现一个翻译的按钮:
我们还需要点击那个翻译的按钮才可以获取得到翻译的结果。
四、使用Python进行实现功能(selenium模块)
我们直接给出代码。里面有比较详细地注释了啦:
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:Users1DesktopGoogle翻译google_transfer0test.txt") # 将文件的位置传递到形参 path 里面
把注释去掉以后的代码如下:
from selenium import webdriverdef 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__': transfer(path=r"C:Users1DesktopGoogle翻译google_transfer0test.txt")
五、测试功能
我们进行测试:
test.txt文件:
翻译完成以后生成的文件:
交互端的打印:
希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、性能测试
上面就是小居数码小编今天给大家介绍的关于(python调用谷歌翻译)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(303)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:python谷歌翻译api(python调用谷歌翻译):http://sjzlt.cn/shuma/155897.html