requests批量输出,如何只输出特定的参数

#-*- coding:utf-8 -*-
import requests
import datetime

url = 'http://httpbin.org/post'

base_date = datetime.datetime(2016, 4, 1)
base_payload = {'headers': ''}

for i in range(1, 10):
    payload = base_payload.copy()
    payload.update({
        'index': i,
        'data': (base_date + datetime.timedelta(days=i)).strftime('%Y-%m-%d')
    })
    response = requests.post(url, data=payload)
    with open ('a.text'.format(i), 'a') as fp:
        fp.write(response.text)

上面的是全部输出

现在只需要输出form的内容就可以
比如

[
    {
        "form": {
            "data": "2016-04-02",
            "headers": "",
            "index": "1"
        },
        "data": "2016-04-03",
        "headers": "",
        "index": "2"
    }
]
阅读 2.8k
2 个回答

使用 Python 标准库中的json,可以把 JSON 字符串解析为字典。

#-*- coding:utf-8 -*-
import requests
import datetime
import json

url = 'http://httpbin.org/post'

base_date = datetime.datetime(2016, 4, 1)
base_payload = {'headers': ''}

for i in range(1, 10):
    payload = base_payload.copy()
    payload.update({
        'index': i,
        'data': (base_date + datetime.timedelta(days=i)).strftime('%Y-%m-%d')
    })
    response = requests.post(url, data=payload)
    with open ('a.text'.format(i), 'a') as fp:
        j = json.loads(response.text) # 使用json载入
        fp.write(j[0]['form']) # 获取数组中第0个对象中的form
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题