网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月11日漏签0天
广信it学院吧 关注:1,000贴子:19,239
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回广信it学院吧
>0< 加载中...

Python模拟搜狗翻译发送请求

  • 取消只看楼主
  • 收藏

  • 回复
  • 幻尘灬星
  • 声名远扬
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
开发工具与关键技术:Python IDEL、Python
作者:曾浩源
撰写时间:2019年08月07日
写一个小功能来模拟搜狗翻译发送请求,让这个小功能拥有翻译的功能。
首先打开搜狗翻译,然后F12或右键选择检查,找到Network,再搜狗翻译内进行一次翻译,之后Name下就出现一堆东西,如:

看着大概也知道,出来translateV2、suggV2和translateV2ForPicSet其余都是一些图片,以上三个都是post请求,这里选择的是suggV2,它是释义而且传的数据也少所以选它了,至于其他两个,到时候自己试试吧。
从这里就可以知道了请求url地址(Requset URL),和所要传输的数据(From Data)
接下来就是将所要的内容赋予我们Python里的变量:

之后就是发送数据,但这是post请求,不是get请求,get请求直接拼接所要传输的数据就行了,而post请求要被编码为字节数据,所以我们要转编码。发送数据就是请求,和转编码它们需要我们在python内引用urllib模块,请求要urllib内的request(urllib.request 用于打开网址的可扩展库。)、转编码需要urllib内的parse(urllib.parse URL解析组件)
所以在最前面引入需要的模块
在data赋值完成后,将data转码为utf-8,这要看别人网页的请求头是啥了,现在一般都是utf-8。
在Python中,我们通常使用urllib中的urlencode方法将字典编码,所以:
data = urllib.parse.urlencode(data).encode('utf-8')
编码完成后就可以直接使用urllib.request.urlopen()方法向要打开的url链接发送我们的数据data 了:
response = urllib.request.urlopen(url,data)
响应后,我们需要读取响应,再把它转码为utf-8
html = response.read().decode('utf-8')
读取到之后,但它是字符串形式:

发现它很像是一个字典,其实就是字典的字符串格式,我们现在就需要把它从字符串转为字典,这里需要引用一个模块,json模块。
在代码最上面的引用代码后加入
import json
获取到响应回来的内容赋值给html后,转为字典如下:
target=json.loads(html)
输出:

我们需要的是 键:data的值,它的值是一个列表,需要第一个也就是索引0,列表里又是字典,需要的是 键:v的值
所以:


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回广信it学院吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示