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

标签 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 和网页抓取,并使用了 python 模块(如 BeautifulSoup)。 然而,由于aspx,该网站很难进行网页抓取。

所以,请帮助我。

最佳答案

如果您可以找出表单发布到的 URL,则可以避免抓取。检查页面的源代码并查看表单标签是否具有操作属性。这是表单将所有字段发送到的 URL(包括您指定的项目和日期)。

您将需要使用 requests库来发出 POST 请求。这将类似于请求快速入门中的示例:

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

然后您就可以访问返回的 csv 文件

print r.content

尽管您可能必须处理 r.content 才能使其有意义。

关于python - 如何使用python向服务器提交表单并通过互联网从服务器获取csv文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901926/

相关文章:

python - 如何在处理程序中对 Tornado 处理程序进行基准测试?

python - 重命名 csv 文件中的列

python - 从 Flask 请求模块读入文件

c# - 身份服务器 4 : Proper logout from MVC Client

原始数据: reading attributes with varied number of spaces in R

python - 功能字段 odoo 类型 float ,新 api

c# - 声明具有属性的类并同时填充这些属性的最佳方法是什么

c# - 在C#中使用基本身份验证调用WEB API

python - 按字母顺序从最高到最低和平均值对 csv 中的数据进行排序

python - 使用 python 在 XML 文件中获取唯一项对