python小程序之十行代码写翻译程序

十行代码写翻译程序

过程大概是  对百度翻译进行爬虫,将需要翻译的文本,传入对百度翻译url的请求头中,然后分析对返回的数据进行解析,即可

首先我们打开百度翻译的页面,打开network,选择XHR,如下图

当我们在翻译的地方输入内容时,下方会加载出数据包,这里就随便输入一个apple吧

如果是一个一个字母输入,下方会找到字母数量的sug,也就是几个字母出现几个sug

如果我们直接粘贴这个单词,则只会出现一个sug,原因很简单,就是翻译会实时监测文本框的内容,有变化就会返回一个sug,所以这也是为什么要找这个数据包的原因

它可以理解为,翻译好之后返回的数据

点击进去,在右侧查看

主要看两个地方,url和最下面的Form Data  里面有一个kw:apple 就是传入的参数

点击到Reaponse查看相应数据,有一串JSON格式的数据包,其实这个v后面就是翻译好的内容,只不过因为编码的原因没有显示出中文

我们在网页上找到在线中文汉字/ASCII码/Unicode编码互相转换工具

对v后面的字符进行转换即可看到对应的中文信息

在代码中不需要转换,直接对字典格式的数据包进行键值对提取即可

梳理一下思路,我们将https://fanyi.baidu.com/sug作为爬虫的URL,请求头中传入UA伪装,data中传入需要翻译的参数,对返回的数据包进行解析即可

整个代码如下,总共也就12行

import requests
word = input('请输入需要翻译的文字:')
post_url = 'https://fanyi.baidu.com/sug'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
data = {
    'kw':word
}
response = requests.post(url=post_url,headers=headers,data=data)
response.encoding = 'utf-8'
print(response.json()['data'][0]['v'])

QQ录屏20210703131554

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值