如何使用 Python 通过 JavaScript 按钮从网站下载 .XML 文件

How to Download .XML File From Website Through JavaScript Button Using Python

我正在尝试从此网站下载自定义 XML 文件: http://data.un.org/Data.aspx?d=CLINO&f=ElementCode:11;StatisticCode:01&c=1,2,5,17,18,44&s=CountryName:asc,WmoStationNumber:asc,StatisticCode:asc&v=1

我最熟悉的方法是使用pd.read_csv,但在这种情况下右键单击下载link并复制link地址会生成:

javascript:Download('xml','CLINO','ElementCode:11;StatisticCode:01','s=CountryName:asc,WmoStationNumber:asc,StatisticCode:asc','c=1,2,5,17,18,44','');

我尝试了 发布的解决方案,但不幸的是,该过程在第 4 步出现偏差。

如何使用 python 访问 .xml 文件进行下载和保存?

import requests
import pandas as pd

params = {
    'Service': 'page',
    'DataFilter': 'ElementCode:11;StatisticCode:01',
    'DataMartId': 'CLINO',
    'UserQuery': '',
    'c': '1,2,5,17,18,44'
}


def main(url, params):
    with requests.Session() as req:
        allin = []
        for item in range(1, 23):
            print(f"Extracting Page# {item}")
            params['Page'] = item
            r = req.get(url, params=params)
            df = pd.read_html(r.content)[0]
            allin.append(df)
        new = pd.concat(allin)
        print(new)
        new.to_csv("Data.csv", index=False)


main("http://data.un.org/Handlers/DataHandler.ashx", params)