python网络库requests使用超级简单,两三行代码的事情,具体如下:
get请求:
url = 'https://service.paper.meiyuan.in/api/v2/columns/flow/5c81087e6aee28c541eefc26?page=1&per_page=10'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
respond = get(url=url, headers=headers)
ok,就这样,就完成了 一次get请求,如果请求的参数随时会变化,你还可以这样:
url = 'https://service.paper.meiyuan.in/api/v2/columns/flow/5c81087e6aee28c541eefc26'
params = {}
params["page"] = 1
params["per_page"] = photoCount
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
respond = get(url=url, params=params, headers=headers)
这就是一个完整的标准的get请求(get请求三要素:接口url,参数params,请求头文件headers)。
请求成功与否的判断,我们要用到请求状态码status_code:
if respond.status_code==200:
# TODO:表示请求成功
对请求到的response做数据解析: requests的数据解析有两种方式:
一、使用json库的loads()方法:
jsonData = loads(respond.text)
这样的到的photoData 对象就是一个解析后的对象,然后就可以使用了
二、使用requests自带的json解析:
jsonData = respond.json();
这种方式得到的jsonData与方式一到的jsonData是完全一样的。然后就可以正常获取值了。
post请求:
首先还是请求接口url和请求参数params的处理:
url = 'https://service.paper.meiyuan.in/api/v2/columns/flow/5c81087e6aee28c541eefc26'
params = {}
params["page"] = 1
params["per_page"] = photoCount
然后是发起请求:
response = requests.post(url , params=params)
这样就完成了一次post请求,一行代码搞定,超级简单。
关于更多request的更多用法在这里:Python-requests库的用法