首页 > requests如何批量读取并输出

requests如何批量读取并输出

#-*- coding:utf-8 -*-
import requests
import 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://.com/q/1010000004876255
#日期没递增 也需要添加日期递增


#以下是读取上面的pay递增,但这里只能读取一个~~~ 
#参考资料https://.com/q/1010000004872027

fileHandle = open ( 'hello.txt', 'w' )
fileHandle.write(pay.text)
fileHandle.close()
    

先看答案

import requests
import 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)

结果

【热门文章】
【热门文章】