python - 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)
解决方案
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
推荐阅读
- java - JPA OneToOne 和 ManyToOne 与同一实体的关系
- ios - 当滚动超出工作表中的限制时,防止在 ScrollView 顶部的图像上方填充
- python - 如果 ES 服务器关闭,Elasticsearch-py 连接尝试会发生什么?
- javascript - 服务构建,“module.exports”不可修改?
- r - 如何在图表上拟合图例
- mongodb - 如何在nifi上设置mongodb的初始偏移量
- json - 获取json响应中的值
- javascript - 我怎样才能隐藏recaptcha溢出-y
- vue.js - Vue:如何使用 axios 将响应数据放入选择选项(vue-search-select)
- c# - 您可以链接到 Razor 组件而不对其 URL 进行硬编码吗?