微信微网站是什么格式,常见的网站建设程序有哪些,建站之星破解版下载,上海工商网官网电话编程本身是跟年龄无关的一件事#xff0c;不论你现在是十四五岁#xff0c;还是四五十岁#xff0c;如果你热爱它#xff0c;并且愿意持续投入其中#xff0c;必定会有所收获。本文就来自编程教室一位“小”读者的投稿#xff08;互助学习1群里的同学应该对作者的名字很熟…编程本身是跟年龄无关的一件事不论你现在是十四五岁还是四五十岁如果你热爱它并且愿意持续投入其中必定会有所收获。本文就来自编程教室一位“小”读者的投稿互助学习1群里的同学应该对作者的名字很熟悉吧。我看着他不停地产出新的代码和技术文章不禁感叹“后生可畏”。这是一个爬虫基础分析和操作的开发案例在此分享给大家。当我在电脑上需要翻译一个单词时我会这样做打开浏览器 打开百度翻译 输入单词 得到翻译不过有时候当我在命令行环境下写代码的时候懒得再切换到浏览器里等待页面的加载。于是我就想能否用万能的 python 制作一个命令行下的翻译工具呢说干就干网上搜索了点信息加上一顿操作最终被我捣鼓出来了。来看下最终的效果在这个工具中我用了百度、有道以及谷歌可选的翻译。开发思路其中获取有道翻译和百度翻译的原理都差不多这里我们选取百度翻译来玩耍一下啦首先打开百度翻译http://fanyi.baidu.com接下来右键点击检查选择 Network 中的 XHR (向服务器发送的数据请求)。然后我们在输入框里输入 save 这个单词我们可以看到一时间这里面多了几个 sug 标签点开一看可以看到这个 sug 请求里面就有我们想要的数据。点进去Request URL 就是我们需要请求的网址另外在 Request Method 看到是 POST 方式也就是提交表单移到最后我们看见了提交的表单参数在 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,headersheaders)我们可以试着打印出返回的东西你会发现是以 JSON 格式返回的因此需要引入内置库 json 来解析content json.loads(response.text) # 加载成字典形式在打印出的 json 格式的文本中我们发现翻译结果在[data][0][v]刚刚的图片里我们也看见了接下来提取并返回result content[data][0][v] # 获取翻译结果
return result这样就完成了提交表单了实现百度翻译了。这里用到的就是一些常用的爬虫分析和操作有道翻译也基本类似不再赘述具体操作可参加文末给出的完整代码。接下来我们来看看与众不同的谷歌翻译这个玩意实在有些复杂。谷歌翻译是有 api 的但是要钱……我不想付钱……网上有大佬给出了解决方案这里我们简单地看一下原理按照近似百度翻译的方式操作我们看到这里多出了一个请求这里面有我们想要的翻译结果我们回到之前的 Request URL 看一下发现前面的直接复制就好了q 是我们需要翻译的词但是这个 tk 参数却是个棘手的参数。我代码里用到的解法是网上的仿照谷歌翻译页面上的提供的函数用 JavaScript 去计算出了这个参数我怀疑他就是拿的前端源码没仔细对照。那么如何在 python 中执行 JavaScript 代码呢我们可以通过 pyexecjs 这个库注意这个库导入名是 execjs。这个部分的源码就在 Py4Js 这个类里边了。特别说明下因为无法直接使用谷歌翻译所以我把它做成了可选项默认不会调用。使用方法我已经将这个项目发布到了 pypi你可以通过 pip 命令按如下方式安装pip install quicktranslate用起来也是非常的简单加上 -g 可增加谷歌翻译结果trans -t 你要翻译的东西示例$ trans -t 你好youdao translate resulthello
baidu translate result[nǐ hǎo] how do you do; how are you; hello;
$ trans -t 你好 -gyoudao translate resulthello
baidu translate result[nǐ hǎo] how do you do; how are you; hello;
google translate resultHello there
获取本案例完整代码请在公众号“Crossin的编程教室”中回复关键字翻译作者pynickle------一起学走得远欢迎搜索Crossin的编程教室