python23行代码实现图形化在线翻译(附源码和成品下载地址)

文章目录

    • 一、实现效果
    • 二、实现思路
    • 三、源码和可直接运行版分享
    • 四、总结


一、实现效果

话不多说,直接上演示效果:

1.中文转英文


python23行代码实现图形化在线翻译(附源码和成品下载地址)_第1张图片


2.英文转中文


python23行代码实现图形化在线翻译(附源码和成品下载地址)_第2张图片


二、实现思路

通过分析有道翻译的前后端交互和接口传参来实现翻译功能,有道的接口很友好,而且貌似也没有做IP的限制,请求几次都可以(也可能是我请求的次数不多)

实现的具体过程不再赘述。


python23行代码实现图形化在线翻译(附源码和成品下载地址)_第3张图片


有道翻译返回的结果:
python23行代码实现图形化在线翻译(附源码和成品下载地址)_第4张图片


三、源码和可直接运行版分享

爬虫翻译的核心源码:


def youdao(value, result):
    request_url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'  # 请求的翻译地址
    form_Data = {
     'i': value, 'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'doctype': 'json', 'version': '2.1',
                 'keyfrom': 'fanyi.web', 'typoResult': 'false', 'client': 'fanyideskweb'}
    data = parse.urlencode(form_Data).encode('utf-8')
    trans_res = json.loads(request.urlopen(request_url, data).read().decode('utf-8'))
    show_label = trans_res['translateResult'][0][0]['tgt'] if trans_res.get('translateResult') else ''
    result['text'] = f'{
       show_label}\n\n'

1. 完整版源码扫下方码,回复:翻译源码,进行获取;
2. 可直接运行版扫下方码,回复:翻译工具,进行获取;

python23行代码实现图形化在线翻译(附源码和成品下载地址)_第5张图片


四、总结

进入有道翻译你会发现它的url是没有变化的,也就是说它的请求是通过ajax异步交互的。

点击F12,很容易在XHR中找到这个交互的请求,点击查看信息,你会发现一串参数,其中有几个还是加密了的,啥salt盐啥的。先有个数。


实现思路和代码都很简单。

主要是需要分析有道翻译的请求接口的交互和传参。

以及使用tkinter模块做简单的图形化界面。

python是非常适合做爬虫的一门语言,得益于它语言上手简单、学习成本较其他语言低,爬虫第三方库完善、社区成熟。

所以通过python来实现爬虫是非常明智且高效的选择!


就这样,我们从0开始优雅的揭开有道翻译的面纱!你可以利用这个做一些有趣的事情

当然,这个可能难度不大,对于老鸟老说很简单(勿喷)。

但是对于新手来说特别适合练手,当然,这个代码不知道能保存多久会失效。所以请抓紧收藏尝试!如果感觉可以还请奉献爱心点点赞!

当然,这个只是我脑洞的一个开端,好玩的还在后面!

你可能感兴趣的:(笔记,python,在线翻译,爬虫)