有一些接口返回值比较特殊,不是单纯返回一个结果,而是多个结果,比如某个查询接口,返回值为排行榜前10的商品信息。

 

import requests

base_url = "http://httpbin.org"

r = requests.get(base_url+"/steam/10")        #10表示返回10个结果,可修改该数字
print(r.text)

 

针对这种类型的接口我们对结果集的处理需要使用迭代方法iter_lines()来处理,具体使用如下:

import json
import requests

base_url = 'http://httpbin.org'

r = requests.get(base_url + '/stream/10',stream=True)

#如果响应内容没有设置编码,则默认设置为utf-8
if r.encoding is None:
    r.encoding = 'utf-8'

#对响应结果进行迭代处理
for line in r.iter_lines(decode_unicode=True):
    if line:
        data=json.loads(line)
        print(data['id'])