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

前言

本文所用的方法十分简(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翻译还没有设置较为完备的反爬虫机制,所以请谨慎使用爬虫,避免对服务器造成巨大负荷!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,166评论 25 709
  • 英文原版:https://github.com/vinta/awesome-python中文版:https://g...
    会灰的大飞狼阅读 8,969评论 1 56
  • 召开学生会大会,不仅进行未来的部内领导人的竞聘,还宣布新进成员的名单和其他各种名单。同时主席还宣读了学生会的守则,...
    青岛卫校宿管部阅读 1,180评论 0 0
  • 晚上,睡前,听着自己喜欢的歌,想想今天发生的事儿,其实生活就要这样,简简单单,开开心心。
    雨雨宝宝阅读 1,490评论 0 0
  • 前言 或许曾以为天长地久,却也渐渐生出了隔阂; 或许曾许下山盟海誓,也终究抵不过时光荏苒; ...
    海蓝鲸浅初望阅读 1,094评论 0 1

友情链接更多精彩内容