这是一个爬虫基础分析和操作的开发案例,在此分享给大家。

当我在电脑上需要翻译一个单词时,我会这样做:

打开浏览器 => 打开百度翻译 => 输入单词 => 得到翻译

不过有时候,当我在命令行环境下写代码的时候,懒得再切换到浏览器里等待页面的加载。

于是我就想,能否用万能的 python 制作一个命令行下的翻译工具呢?

说干就干!

网上搜索了点信息,加上一顿操作,最终被我捣鼓出来了。来看下最终的效果:




pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页


在这个工具中,我用了百度有道以及谷歌(可选)的翻译。

开发思路

其中获取有道翻译和百度翻译的原理都差不多,这里我们选取百度翻译来玩耍一下啦:

首先打开百度翻译:http://fanyi.baidu.com


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_02


接下来右键点击检查,选择 Network 中的 XHR


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_03


可以看到,这个 sug 请求里面就有我们想要的数据。点进去,Request URL 就是我们需要请求的网址,另外在 Request Method 看到是 POST


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_04


移到最后,我们看见了提交的表单参数:


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_05


Form Data 中,我们看见表单是一个字典:{'kw': 'save'},这里 save 是我们自己输入的,也就是我们要查询的单词,因此我们使用 requests.post


# 网址和表单url= 'https://fanyi.baidu.com/sug'Form_data = {'kw': word}
# post方式请求网站response = requests.post(url, data = Form_data,headers=headers)


我们可以试着打印出返回的东西,你会发现是以 JSON 格式返回的,因此需要引入内置库json


content = json.loads(response.text)   # 加载成字典形式


在打印出的 json 格式的文本中我们发现翻译结果在['data'][0]['v'](刚刚的图片里我们也看见了),接下来提取并返回:


result = content['data'][0]['v']   # 获取翻译结果return result


这样就完成了提交表单了,实现百度翻译了。

这里用到的就是一些常用的爬虫分析和操作,有道翻译也基本类似,不再赘述,具体操作可参加文末给出的完整代码。

接下来我们来看看与众不同的谷歌翻译,这个玩意实在有些复杂。谷歌翻译是有 api 的,但是要钱……我不想付钱……网上有大佬给出了解决方案(这里我们简单地看一下原理):


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_06


按照近似百度翻译的方式操作,我们看到这里多出了一个请求,这里面有我们想要的翻译结果:


pytorch table 语言翻译 表格 抽取 python批量翻译excel_用html5做一个简单网页_07


我们回到之前的 Request URL 看一下,发现前面的直接复制就好了,q 是我们需要翻译的词,但是这个 tk

那么如何在 python 中执行 JavaScript 代码呢,我们可以通过 pyexecjs 这个库(注意这个库导入名是 execjs)。这个部分的源码就在 Py4Js

特别说明下,因为无法直接使用谷歌翻译,所以我把它做成了可选项,默认不会调用。

使用方法

我已经将这个项目发布到了 pypi,你可以通过 pip 命令按如下方式安装:


pip install quicktranslate
用起来也是非常的简单(加上 -g 可增加谷歌翻译结果):
trans-t你要翻译的东西
示例:


$ trans -t 你好=========================youdao translate result:hellobaidu translate result:[nǐ hǎo] how do you do; how are you; hello;=========================
$ trans -t 你好 -g=========================youdao translate result:hellobaidu translate result:[nǐ hǎo] how do you do; how are you; hello;google translate result:Hello there=========================


这是我们专门为 小白 量身打造的Python新手教程,具有如下特点:

全视频,手把手,零起点,项目实例,基于船新的Python 版本。

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合网页编程的JavaScript语言等等。

Python是一种什么语言?

首先,我们普及一下编程语言的基础知识。编程语言就是和计算机交流的语言,目的是让计算机完成各项任务,例如打开一个视频,从网页上抓取特定的信息。不同的编程语言,完成同一个任务,编写的代码量,差距也很大。

比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而 Python可能只要20行。

所以Python是一种 相当高级的语言。

那么用Python可以做什么?可以做日常任务,比如处理excel文档;比如在网页上抓取你需要统计的数据;可以做网站,很多著名的网站包括YouTube就是Python写的。Python是一种全栈的开发语言,所以你如果能学好Python,那么前端,后端,测试,大数据分析,爬虫等这些工作你都能胜任。

如果你是小白用户,满足以下条件:

会使用电脑,但从来没写过程序;

还记得一点点初中数学学的数学知识;

想从编程小白变成专业的程序猿;

每天能抽出半个小时学习。

不要再犹豫了,这个教程就是为你准备的!

超适合小白的python新手教程