我正在尝试从该网站下载文件。
网址为:http : //www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
当我使用此命令时:
wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
我只得到index.html?acc=GSE48191
某种二进制格式。
如何从此HTTP站点下载文件?
我正在尝试从该网站下载文件。
网址为:http : //www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
当我使用此命令时:
wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
我只得到index.html?acc=GSE48191
某种二进制格式。
如何从此HTTP站点下载文件?
Answers:
我认为您?
的解释是通过shell解释的(更正为vinc17:更可能是&
解释的解释)。
只需在URL周围使用简单的引号即可:
wget 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'
请注意,您请求的.tar
文件是一个文件,但是上述命令会将其另存为index.html?acc=GSE48191&format=file
。要正确命名,您可以将其重命名为.tar
:
mv 'index.html?acc=GSE48191&format=file' GSE4819.tar
或者,您可以将名称作为选项wget
:
wget -O GSE48191.tar 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'
上面的命令会将下载的文件GSE48191.tar
直接保存为。
?
,因为没有匹配项。主要问题是&
:这将在后台运行前面的部分(因此URL不完整)。但是解决方案是相同的:引用URL。
.tar
包含.gz文件的归档文件(文件)。下载完成后,请运行tar xvf GSE4819.tar
以展开存档并访问文件。
可能可行的另一种方法是使用以下命令:
wget -O nameOfTar.tar "http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file"
该-O
命令将指定要下载到的名称。
当然,最初的问题是因为外壳程序正在解释“&”,用双引号引起来的URL可以解决此问题。
-O
option用于指定保存下载的数据的文件的名称。它与下载的数据无关(也许这就是您的意思,但我发现不清楚)。
&
由Shell解释,并且.tar
文件下载将失败。
wget -O“您要保存的名称格式” http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file
这样您就可以将要下载的文件下载到当前目录中。
wget: missing URL
之所以这样wget
回答,是因为您缺少的参数-O
。另外,我认为这可能无法解决OP的问题。
&
,因此除非您添加URL ""
或''
在URL周围添加,否则该答案无效。
从$ curl -G http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191">here</a>.</p>
</body></html>
所以你需要做
wget https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191
注意http后面的“ s”。我自己尝试过,效果很好。