利用爬虫来制作一个翻译小软件

1.打开有道翻译的在线翻译点击检查

在这里插入图片描述

2.点击network,然后输入需要翻译的内容,将进入以下界面

在这里插入图片描述

3.然后导入以下模块:

import urllib.request
import urllib.parse
import json

  • 先设置一个死循环while True:可以一直翻译
  • 找到最下面的data,然后把他做成一个字典,把‘i’所对应的值改成key,就是我们想翻译的值,然后在输入:data=urllib.parse.urlencode(data)即是二进制的转化,之后把data数据转化为字节流的数据即:data=bytes(data,‘utf-8’)
    在这里插入图片描述

4.之后我们需要发起请求获取响应,先找到网页的url,由于该类软件的不同我们需要去掉url中的’_o’否则会报错,然后设置headers的值,我们要把它设置成一个字典的形式

  • req=urllib.request.Request(url,data=data,headers=headers)
  • 我们利用这个方式传递一个数据把data传递进来
  • 接下来我们利用一个json的模块把字符串的格式转化成字典的格式,即:dict_1= json.loads(html),如果直接输出上一步的html他是一个字符串的格式
    在这里插入图片描述
    在这里插入图片描述

以下是完整代码

import urllib.request
import urllib.parse
import json
while True:
key=input(‘你需要输入的数据:’)
data={
‘i’:key,
‘from’: ‘AUTO’,
‘to’: ‘AUTO’,
‘smartresult’: ‘dict’,
‘client’:‘fanyideskweb’,
‘salt’:’ 16156284967029’,
‘sign’: ‘173cebe94ef6d7a0a96261f1e6b4c548’,
‘lts’: ‘1615628496702’,
‘bv’: ‘d16528ec6ead722121051f646932f6ab’,
‘doctype’: ‘json’,
‘version’: ‘2.1’,
‘keyfrom’: ‘fanyi.web’,
‘action’: ‘FY_BY_REALTlME’
}

data=urllib.parse.urlencode(data)

#吧data数据转化为字节流的数据

data=bytes(data,'utf-8')

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

headers={
'User-Agent':
    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3706.400 SLBrowser/10.0.4040.400'
}
req=urllib.request.Request(url,data=data,headers=headers)

res=urllib.request.urlopen(req)

html=res.read().decode('utf-8')

dict_1= json.loads(html)

r=dict_1['translateResult']
m=r[0][0]['tgt']
print(m)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最低调的奢华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值