python中用requests获取API参数

不得不说这个第三方是真的好用,之前在写爬虫的时候就已经开始用啦。然后今天在写接口的时候,别人写的文章是用urllib的,但是我想用requests怎么办呢,怎么去兼容它呢,首先来打开中文文档http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

然后,比如我要实现一个网址的拼接:http://api.soo9s.me/api?1=xx&2=xx&3=xx

如果要用urllib的话这里就不介绍啦。太麻烦啦。直接用requests:

import requests

url = "http://api.soo9s.me/api"

payload = {'1':"123",'2':"567",'3':"890"}

checkUrl = requests.get(url,params=payload)

ret = checkUrl.json()

print ret

============

官方解释:

传递 URL 参数
你也许经常想为 URL 的查询字符串(query string)传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 httpbin.org/get ,那么你可以使用如下代码:

>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get("http://httpbin.org/get", params=payload)
通过打印输出该 URL,你能看到 URL 已被正确编码:

>>> print(r.url)
http://httpbin.org/get?key2=value2&key1=value1

JSON 响应内容
Requests 中也有一个内置的 JSON 解码器,助你处理 JSON 数据:

>>> import requests

>>> r = requests.get('https://github.com/timeline.json')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...
如果 JSON 解码失败, r.json 就会抛出一个异常。例如,相应内容是 401 (Unauthorized),尝试访问 r.json 将会抛出 ValueError: No JSON object could be decoded 异常。

Tags: None

Archives QR Code

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日常分享

RabbitMQ基本模式

   最近用到了一些RabbitMQ的东西,看了官方的Get Started,以此为模板总结一下。

3142
来自专栏linux驱动个人学习

编译选项含义

编译选项: 现在我们Makefile中的编译选项有: ? -g :可执行程序包含调试信息;(给gdb调试使用) -O2:该优化选项会牺牲部分编译速度,除了执行-...

4996
来自专栏企鹅号快讯

Jmeter常用获取数据的几种方式

还没用过聊天机器人?给我发消息试试。 Jmeter在互联网测试中应用非常多,可以用来做接口测试或者性能测试,算是非常不错的一个工具。今天我们来聊聊Jmeter获...

2258
来自专栏电光石火

ThinkPHP导出CSV、Excel

如题,我们在实际中EXCEL的导出比导入用的多,这里给大家分享一个导出CSV EXCEL导出,简单,方便。 首先我们在Thinkphp/Library...

3058
来自专栏决胜机器学习

数据库专题(五) ——Memcached技术

数据库专题(五)——Memcached技术 (原创内容,转载请注明来源,谢谢) 一、Slab分配算法保存数据 Memcached默认只能用1M...

2825
来自专栏偏前端工程师的驿站

让VIM支持Python2 by update-alternatives

前言  Ubuntu 16+中$ sudo apt install vim所安装的vim只支持Python3,但很多插件如YCM和powerline均需要Pyt...

2768
来自专栏玄魂工作室

安全杂谈——linux通配符绕过文件名黑名单

linux shell下可以通过正则匹配来匹配相应的程序并且执行。 在linux下输入man 7 glob命令可以查看相关的内容。值得注意的就这些,学过正则的一...

1062
来自专栏vue学习

10、less的引用及公共变量的抽离

less是什么自然不用多言,乃一个css预编译器,可以扩展css语言,添加功能如如允许变量(variables),混合(mixins),函数(functions...

1141
来自专栏vue学习

33、vuex初探(一)

看完以后应该是有点懵逼的,所以这就是这篇文章存在的意义了:就是让你不那么懵逼;总归理论与实践相结合才能真正弄明白一个东西,所以我们简单实践一下。

1656
来自专栏逆向技术

32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址

      32位汇编第六讲,OllyDbg逆向植物大战僵尸,快速定位阳光基址 一丶基址,随机基址的理解 首先,全局变量的地址,我们都知道是固定的,是在PE文件...

3707

扫码关注云+社区

领取腾讯云代金券