Excelファイルからデータを読み取り、Webサイトにデータを送信するこのコードを書きました:
import xlrd,urllib2,urllib
book = xlrd.open_workbook("C:\\Users\\file.xls")
sh = book.sheet_by_index(0)
url = 'https://myurl'
for rx in range(sh.nrows):
riga=sh.row(rx)
denominazione=riga[0].value
descrizione=riga[1].value
start=str(riga[2].value)[0:4]
end=str(riga[3].value)[0:4]
area=riga[4].value[0:2]
form_data = {'denominazione': '%s' % (denominazione.encode('utf-8')),
'descrizione': '%s' % (descrizione.encode('utf-8')),
'categoria': '5',
'contratto':'n',
'periodo_dal':'%s' % start,
'periodo_al': '%s' % end,
'area_1_area':'%s' % area,
'area_1_perc':'100%',
'@action': 'Save all'
}
params = urllib.urlencode(form_data)
print params
response = urllib2.urlopen(url, params)
print response.msg
data = response.readlines()
fd= open("C:\\Users\\output.html","w")
for idx,item in enumerate(data):
fd.write(item)
fd.close()
これは、ウェブサイトのフォームにいくつかの送信ボタンがあるためだと思います。ソースからわかるように、'@action': 'Save all' で呼び出す POST アクションをエンコードしようとしましたが、これでもうまくいきません。この POST リクエストを固定アクションで設定するにはどうすればよいですか?