《学习笔记93》—— # Python # 基于requests和json模块的http响应请求

所需技能:requestsjson 模块,天行数据网站。了解技能如下。


requests模块介绍:

requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。
其中返回的网页部分会存在.content.text两个对象中。.text是现成的字符串,.content还要编码,但是.text不是所有时候显示都正常,这时就需要用.content进行手动编码。

常用方法:

  • requests.get/post('url')——返回一个Response对象,获取网页
  • requests.text——默认以unicode形式返回网页内容,也就是网页源码的字符串
  • requests.content——以字节形式(二进制)返回。字节方式的响应体,会自动解码 gzip 和 deflate 压缩
  • requests.content.decode('utf-8')——以UTF-8进行编码

json模块介绍:

JSON模块是一种轻量级的数据交换格式。JSON模块的API函数类似pickle模块,主要有序列化的函数dumps()和反序列化的函数loads()

常用方法:

  • json.loads()——将字符串的内容反序列化成Python对象
    *json.load()——将⽂件中的json数据反序列化成对象
  • json.dump()——将Python对象按照json格式序列化到⽂件中
    *json.dumps()——将python对象处理成json格式的字符串

加了s的就是只处理当前文件中的数据,不加s的就是处理其他文件中的数据。


利用天行数据提供的url接口来模拟get请求。
链接如下。

https://www.tianapi.com/


1. 进行GET请求模拟

  1. 引入相关模块。
import requests  # 引入requests模块
import json  # 引入json模块
  1. 在主函数下通过GET方法获取网页信息,并通过.text属性转换成网页的源码字符串。
def main():
	resp=requests.get('http://api.tianapi.com/txapi/pyqwenan/index?key=APIKEY').text  # 获取网页信息,并转换成源码字符串
	data_model=json.loads(resp)  # 将json格式的字符串转化为python对象
	print(data_model)
if __name__='__main__':
	main()

url获取方法如下。
2.1 复制请求示例中的url地址到get方法中。
在这里插入图片描述

2.2 点击【在线测试】,将网页中的参数值带入到url的APIKEY中。
在这里插入图片描述

  1. 运行以上代码,显示结果如下。

[ {
“content”: “天亮以后,不管雨是否还在下,我们都收拾好自己,带着笑容,重新出发好不好?”,
“source”: “佚名”
}]

2. 进行POST请求模拟

详细请求步骤与GET请求类似,以下只进行请求时携带的请求头和请求体的说明。

import requests
import json

def main():
# 定义请求体数据
  key={
    "key":"bd740ddb5c597ebbdad10f385239e910"
  }
# 定义请求头数据
  header={
    "Content-type":"application/x-www-form-urlencoded"
  }

# 请求体中的数据放在data中,请求头数据放在headers中
reps=requests.post('http://api.tianapi.com/txapi/pyqwenan/index',headers=header,data=key)
  data_model=json.loads(reps.text)
  print(data_model)

if __name__=='__main__':
  main()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Merrill He

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

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

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

打赏作者

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

抵扣说明:

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

余额充值