前言
本文所用的方法十分简(ruo)易(zhi),非常适用想用Python做点有趣的功能的Python初学者。
先上一波效果图
那么这到底是怎么实现的呢?其实说起来很简单,我们只需要写一个爬虫就行啦!选择哪个网站作为爬取对象十分关键。作为Python的初学者,选择谷歌翻译?还是网易有道翻译?NO!这些网站都有很强大的反爬虫机制,光是写反爬虫的代码就已经比较复杂了。所以说,我们选择一个良心网站——沪江小D!
首先打开沪江小D并按F12进入开发者模式(我是用的是Chrome浏览器)
然后随便输入一段文本翻译
我们发现多了一个en文件。请求网站Request URL是https://dict.hjenglish.com/v10/dict/translation/cn/en,请求方法Request Method是POST。再往下拉,发现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,它在写一些轻量级的爬虫时非常方便!代码中的data的content就是我们想要翻译的内容。值得一提的是,在进行爬取的时候我们的方法是post而不是get。至于是post还是get,这取决网站本身。
整个代码甚至连20行都不满就可以实现一个方便的功能,是不是效率非常高?如果你要实现英译中或者其他语言的翻译,只要更改url即可!
温馨提示:由于沪江小D翻译还没有设置较为完备的反爬虫机制,所以请谨慎使用爬虫,避免对服务器造成巨大负荷!