如何向服务器提交表单并通过互联网从服务器获取csv文件?

时间:2014-07-23 04:34:52

标签: python asp.net csv post web-scraping

我需要向服务器提交一个表单,并通过python从服务器获取csv文件。

服务器网站是(http:// 222.158.245.253/obweb/data/c1/c1_output6.aspx?LocationNo=0​​12),发布日本海上观测数据。

到目前为止,我总是选择项目和日期并单击按钮。 然后,当显示文件保存对话框时,我保留服务器中的csv文件。

我想用python自动化这些手工劳动。 我研究过python和web scraping,并使用过python模块(比如BeautifulSoup)。 但是,由于aspx,本网站很难进行网页抓取。

所以,请帮助我。

1 个答案:

答案 0 :(得分:1)

如果您可以找到表格张贴到哪个网址,您可以避免抓取。检查页面的源代码,查看表单标记是否具有action属性。这是表单将所有字段发送到的URL(包括您指定的项目和日期)。

您将要使用requests库来发出POST请求。它会像请求快速启动这样的例子:

payload = {'item': '<your item>', 'date': '<your date>'}
r = requests.post("<form post url>", data=payload)

然后,您可以访问使用

返回的csv文件
print r.content

虽然您可能必须处理r.content才有意义。