美文网首页
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