您的位置:首页 > 编程语言 > Python开发

爬虫的一个小案例:python实现英汉互译

2020-06-28 05:27 1161 查看

什么是网络爬虫?
网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。
一个小案例:python实现英汉互译
作为一个菜鸟,刚刚迈出爬虫的第一步。根据小甲鱼老师的视频,学习了一个翻译的案例,和大家分享。

import urllib.request
import urllib.parse
import json
import time
while True:
content=input('请输入需要翻译的内容(输入“#”退出程序):')
if content=='#':
break

url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'  #

data={}
data['i']= content
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='15893290522353'
data['sign']='abdca11d8e8df2c27675e95fd288997f'
data['ts']='1589329052235'
data['bv']='acc97416ef67184f42e5a4a03c3d52ab'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_CLICKBUTTION'
data=urllib.parse.urlencode(data).encode('utf-8')

response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8') #解码
#print(html)

target=json.loads(html)
print('翻译结果:%s'%(target['translateResult'][0][0]['tgt']))

time.sleep(5)  #每翻译一次,让程序休息5秒,隐藏爬虫踪迹。或者采用‘代理’也可以实现隐藏。

注意:本案例中,"url"和"Form Data"部分需要大家从自己电脑上的有道翻译网页里点“审查元素”,找出上面这些参数,然后进行替换,不能直接照搬。下图是我电脑上的内容:

这样就可以进行翻译了。程序运行结果为:

请输入需要翻译的内容(输入“#”退出程序):I love you!
翻译结果:我爱你!
请输入需要翻译的内容(输入“#”退出程序):我爱你!
翻译结果:I love you!
请输入需要翻译的内容(输入“#”退出程序):#
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: