所需技能: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方法中。

python获取接口响应时间 python 获取响应体_python获取接口响应时间

2.2 点击【在线测试】,将网页中的参数值带入到url的APIKEY中。

python获取接口响应时间 python 获取响应体_python获取接口响应时间_02

  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()