python3 接口获取数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sponge_bobo_herbert/article/details/84840531

第一次了解到“通过接口获取数据”是在做一个项目时需要存储大量数据,而通过接口是传输大量数据最好的选择,因为它比导出csv文件,再保存至数据库的方法要更快捷、更方便。自己对接口学习了一段时间,对学到的东西做个记录。

那么接口是什么?
接口分为两种:程序内部接口系统对外接口1

程序内部接口 指的是,在程序内部的各方法、各模块之间进行信息传递和交互的函数、变量等都可以称为“接口”。
系统对外接口 指的是,当你从别的网站或者服务器上获取数据或资源时,不会直接得到数据库,而是别人给你提供一个url,让你通过这个url就可以直接使用他写好的方法,达到数据共享的目的,获得相关的数据和信息等。比如app、网址等在进行数据处理的时候都是通过接口来进行调用的。

这里主要记录一下http接口。http接口遵循http协议,通过接口发送http请求报文,请求报文以key-value格式发送,然后会接收到http响应报文,一般响应报文都是json数据,通过解析json数据,便可以得到我们想要的数据。

获取json数据一般有两种方式:getpost 2
get方法 :将请求数据附在url之后(就是把数据放置在HTTP协议头中),并显示在地址栏中。

以?分割URL和传输数据,多个参数用&连接。
例如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

post方法 :把请求数据放置在http包的包体中。请求数据并不会出现在地址栏中。

下面是get方法实例:

import requests
import json

url = 'https://api.github.com/events'

r = requests.get(url)
result = json.loads(r.text)
print(result)

python中有专门处理json数据的库——json库。json规定的字符集是UTF-8,因此字符串必须使用双引号 “ ”,键值也需要用双引号 “ ”

简要介绍一下常用json函数的含义。

编解码json数据:
json.loads() 解码json数据,将字符串类型json数据转化为字典dict类型
json.dumps() 编码json数据,将dict类型转化为 str 类型的 json 数据
读写json文件:
json.load() 读取json文件的 json数据
json.dump() 把json数据写出为 json文件

下面是post方法实例:

url = 'http://httpbin.org/post'
s = json.dumps({'key1': 'value1', 'key2': 'value2'})
r = requests.post(url, data=s)
print(r.text)

此时的输出结果便是我们传入的变量 s 。

这就是通过接口获取数据,一开始我认为会有很多行代码来实现,其实没有那么复杂,只要获取到数据就可以了,具体怎么存到数据库后面会继续更新。hhh~~


  1. 接口测试及常用接口测试工具 https://www.cnblogs.com/feng0815/p/7509541.html ↩︎

  2. 关于HTTP协议,一篇就够了 https://www.cnblogs.com/ranyonsue/p/5984001.html ↩︎

猜你喜欢

转载自blog.csdn.net/Sponge_bobo_herbert/article/details/84840531