首页 > 解决方案 > R - 下载网站,包括所有 .css、.js、图片等

问题描述

假设我想下载 r-Bloggers.com 的页面。如果我在 Chrome 中按 Ctrl+S,将下载一个 html 文件以及一个包含 58 个文件(.css、.js、图片等)的文件夹

我想从 R 做同样的事情。

我找到了答案并将其包装成system()system("wget --page-requisites https://www.r-bloggers.com/")

没有给我 58+1 个文件。

同样适用于:

download.file(url = "https://www.r-bloggers.com/", 
              destfile = "try", mode = "wget", extra = "--page-requisites")
download.file(url = "https://www.r-bloggers.com/", 
              destfile = "try.html", mode = "wget", extra = "--page-requisites")

标签: rcurlwget

解决方案


这是因为默认情况下 Wget 只会尝试从同一个域下载项目。但是,该网站从不同的主机加载所有内容。

您需要使用该--span-hosts标志来允许 Wget 访问来自不同主机的文件


推荐阅读