美文网首页
Python编程学习 -- 用十几行代码实现一个翻译器

Python编程学习 -- 用十几行代码实现一个翻译器

作者: SeekingMini | 来源:发表于2018-08-31 22:12 被阅读0次

前言

本文所用的方法十分简(ruo)易(zhi),非常适用想用Python做点有趣的功能的Python初学者。

先上一波效果图

那么这到底是怎么实现的呢?其实说起来很简单,我们只需要写一个爬虫就行啦!选择哪个网站作为爬取对象十分关键。作为Python的初学者,选择谷歌翻译?还是网易有道翻译?NO!这些网站都有很强大的反爬虫机制,光是写反爬虫的代码就已经比较复杂了。所以说,我们选择一个良心网站——沪江小D!
首先打开沪江小D并按F12进入开发者模式(我是用的是Chrome浏览器)

然后随便输入一段文本翻译 我们发现多了一个en文件。请求网站Request URLhttps://dict.hjenglish.com/v10/dict/translation/cn/en,请求方法Request MethodPOST。再往下拉,发现Form Data中的content就是原本我们想要翻译的内容。再点击Preview,发现其中就有经过翻译后的文本。这下子经过分析,可以开始写代码啦!
代码如下
import request

def cn_en(sen):
    # 中译英
    url = r'https://dict.hjenglish.com/v10/dict/translation/cn/en'
    data = {'content': sen}
    tran_sen = requests.post(url, headers=HEADERS, data=data).json()['data']['content']  # 提取json文件
    return tran_sen


if __name__ == "__main__":
    print(cn_en("我正在学习Python"))

我们使用的库著名的是Requests,它在写一些轻量级的爬虫时非常方便!代码中的datacontent就是我们想要翻译的内容。值得一提的是,在进行爬取的时候我们的方法是post而不是get。至于是post还是get,这取决网站本身。
整个代码甚至连20行都不满就可以实现一个方便的功能,是不是效率非常高?如果你要实现英译中或者其他语言的翻译,只要更改url即可!

温馨提示:由于沪江小D翻译还没有设置较为完备的反爬虫机制,所以请谨慎使用爬虫,避免对服务器造成巨大负荷!

相关文章

网友评论

      本文标题:Python编程学习 -- 用十几行代码实现一个翻译器

      本文链接:https://www.haomeiwen.com/subject/phiewftx.html