alecxe のおかげで、これは動作するコードです:
from scrapy.spider import BaseSpider
from scrapy.http import FormRequest
from datetime import date
from dateutil.rrule import rrule, DAILY
class MySpider(BaseSpider):
name = "tnpwd"
allowed_domains = ["http://164.100.167.12/"]
start_urls = ["http://164.100.167.12/pwd/report.php"]
def start_requests(self):
start_date = date(2012, 06, 15)
end_date = date(2012, 06, 20)
for i in rrule(DAILY, dtstart= start_date, until=end_date):
report_date = i.strftime('%d/%m/%Y')
file_name = i.strftime('%d_%m_%Y')
yield FormRequest(url='http://164.100.167.12/pwd/report.php',
method='POST',
callback=self.parse_page,
formdata={'reportdate': report_date},
meta = {'file_name': file_name})
def parse_page(self, response):
a= response.meta['file_name']
print 'downloading %s' %a
with open('/home/USERNAME/Documents/test/%s.pdf' %a, 'w') as f:
f.write(response.body)