首页 > 解决方案 > r 中的简单 download.file() 不适用于 requests.get

问题描述

我正在尝试将 R 代码转换为 python 代码。有一条我遇到问题的当前线路。(代码片段 1)。

我已经尝试了所有的请求变体,python 代码正在创建一个没有任何内容的空白文件。

请求、wget、urllib.requests 等等等等。

(1)

downloader = download.file(url = 'https://www.equibase.com/premium/eqbLateChangeXMLDownload.cfm',destfile = 'C:/Users/bnewell/Desktop/test.xml",quiet = TRUE)              # DOWNLOADING XML FILE FROM SITE
        unfiltered = xmlToList(xmlParse(download_file))         

(2)

import requests

URL = 'https://www.equibase.com/premium/eqbLateChangeXMLDownload.cfm'

response = requests.head(URL, allow_redirects=True)

标签: pythonpython-requests

解决方案


import requests, shutil

URL = 'https://www.equibase.com/premium/eqbLateChangeXMLDownload.cfm'

page = requests.get(URL, stream=True, allow_redirects=True,
                    headers={'user-agent': 'MyPC'})

with open("File.xml", "wb") as f:
    page.raw.decode_content = True

    shutil.copyfileobj(page.raw, f)

user-agent由于某种我不确定的原因,手动添加文件下载的标题。

shutil用来下载可以替换为的原始文件page.iter_content


推荐阅读