首页 > 开发 > Python > 正文

requests如何批量读取并输出

2017-09-06 19:28:22  来源:网友分享
#-*- coding:utf-8 -*-import requestsimport sys  reload(sys)  sys.setdefaultencoding('utf8')url='https://www.baidu.com/'payload = {'headers': '', 'index': '1', 'data': '2016-04-01'}#payload = {'headers': '', 'index': '2', 'data': '2016-04-02'}#payload = {'headers': '', 'index': '3', 'data': '2016-04-03'}#这里index和data都要递增for i in xrange(1,10):    payload['index']=i    pay=requests.post(url,data=payload)    #这里只有index递增 参考资料https://segmentfault.com/q/1010000004876255#日期没递增 也需要添加日期递增#以下是读取上面的pay递增,但这里只能读取一个~~~ #参考资料https://segmentfault.com/q/1010000004872027fileHandle = open ( 'hello.txt', 'w' )fileHandle.write(pay.text)fileHandle.close()    

解决方案

先看答案

import requestsimport datetime#url = 'https://www.baidu.com'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 ('{}.text'.format(i), 'w') as fp:        fp.write(response.text)

结果