微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 请求下载 HTML 但不下载文件

如何解决Python 请求下载 HTML 但不下载文件

我正在从 FAO GAEZ 数据库下载一些文件,该数据库使用基于 HTTP POST 的登录
因此,我正在使用请求模块。这是我的代码

my_user = "blabla"
my_pass = "bleble"
site_url = "http://www.gaez.iiasa.ac.at/w/ctrl?_flow=Vwr&_view=Welcome&fieldmain=main_lr_lco_cult&idPS=0&idAS=0&idFS=0"
file_url = "http://www.gaez.iiasa.ac.at/w/ctrl?_flow=VwrServ&_view=AAGrid&idR=m1ed3ed864793f16e83ba9a5a975066adaa6bf1b0" 

with requests.Session() as s:
    s.get(site_url)
    s.post(site_url,data={'_username': 'my_user','_password': 'my_pass'})
    r = s.get(file_url)    
    if r.ok:
        with open(my_path + "\\My file.zip","wb") as c:
            c.write(r.content)

但是,通过此过程,我下载了页面的 HTML。
我怀疑要解决这个问题,我必须将 zip 文件名称添加到 url,即 new_file_url = file_url + "/file_name.zip"。问题是我不知道“file_name”。我尝试使用手动下载时获得的文件名,但它不起作用。

对如何解决这个问题有任何想法吗?如果您需要有关 GAEZ 网站的更多详细信息,另请参阅:Python - Login and download specific file from website

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。