The Seven Year Itch.

MENU

python中用requests获取API参数

March 8, 2017 • Read: 251 • Python

不得不说这个第三方是真的好用,之前在写爬虫的时候就已经开始用啦。然后今天在写接口的时候,别人写的文章是用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
QR Code for this page
Tipping QR Code