Python-如何填写网络表单,然后下载生成的文件

时间:2018-07-24 23:20:24

标签: python python-requests

我正在尝试使用python转到https://comtrade.un.org/data/页,填写表格,然后“单击”下载按钮。然后获取生成的csv文件。

有人有一些示例代码可自动使用python下载吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

您可能有兴趣尝试pywinauto.我没有太多经验,但是我相信它可以胜任。 祝你好运!

答案 1 :(得分:0)

您访问的网站具有公开的API,您可以使用该表单来生成API URL,并只需调用该URL即可返回JSON或CSV响应。要使用Python实现此目的,如果您想在Python中使用数据,可以使用requests和核心JSON模块来解析数据:


CSV文件

import requests

api_url = 'https://comtrade.un.org/api/get?max=500&type=C&freq=A&px=HS&ps=2017&r=all&p=0&rg=all&cc=TOTAL&fmt=csv'
response = requests.get(api_url)
data = response.content

with open('output.csv', 'wb') as output:
    output.write(data)

请注意URL中的fmt=csv属性。


Python字典

import requests, json

api_url = 'https://comtrade.un.org/api/get?max=500&type=C&freq=A&px=HS&ps=2017&r=all&p=0&rg=all&cc=TOTAL'
response = requests.get(api_url)
data = json.loads(response.content)

print(data)

请注意,示例中的API URL来自提交默认表单并单击“查看API调用”。在生成的表格下。