python中requests发送POST请求—破解百度翻译案例
2021/9/26 17:10:46
本文主要是介绍python中requests发送POST请求—破解百度翻译案例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
request.post()中的参数
Ajax
案例——百度翻译
继上一章 ——> python中requests发送GET请 ,下面说如何进行发送POST请求
request.post()中的参数
requests中发送post请求里面有几个基础的参数如下
requests.post(url=url,data=data,headers=headers)
- data:请求所携带的参数,以字典的形式进行封装
Ajax
首先来说一下什么是Ajax,Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
我们应该有过这种体会,当我们在网页中搜索时,我们只要输上关键词,页面马上就会进行刷新查找然后显示结果,我们并没有点击查询按钮,而且它只是进行页面局部的刷新。这种现象就是利用的ajax技术
案例——百度翻译
我们知道了百度翻译利用的是ajax局部刷新的技术。所以我们得找到发送单词请求的那个数据所在url。按F12选择Fetch/XHR捕获ajax请求,填入单词。如下找到了发送单词的请求,请求地址为https://fanyi.baidu.com/sug,且是以post方式发送
且携带的参数为 kw:hello
且返回的数据为一组json数据,可以使用response.json()获取json对象。若果使用response.text()的话获取到的就是下面的一串,像乱码一样的东西
编写代码
import requests import json url='https://fanyi.baidu.com/sug' #进行UA伪装 headers={ 'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36' } #post请求参数处理 word= "hello" data = { 'kw':word } #发送请求 response = requests.post(url=url,data=data,headers=headers) #只有响应数据类型为json, 才能使用response.json text = response.json() print(text) #以json的格式保存字典形式的数据 filename = data['kw'] + '.json' with open(filename,'w',encoding='utf-8') as df: json.dump(response.json(),fp=df,ensure_ascii=False) #因为我们拿到的这个dic_obj是中文的,中文是不能用ascii的
这篇关于python中requests发送POST请求—破解百度翻译案例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享