wget을 사용하여 파일 다운로드

wget을 사용하여 파일 다운로드

다음에서 파일을 다운로드하려고 합니다.이 웹사이트.

웹사이트는 다음과 같습니다: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 사이트에서 파일을 어떻게 다운로드합니까?

답변1

나는 귀하의 ?해석이 쉘에 의해 수행되었다고 생각합니다 (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.

답변2

작동할 수 있는 또 다른 방법은 다음 명령을 사용하는 것입니다.

wget -O nameOfTar.tar "http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file"

-O명령은 다운로드할 이름을 지정합니다.

물론 원래 문제는 쉘이 "&"를 해석하기 때문인데, 이는 URL을 큰따옴표로 묶어서 해결할 수 있습니다.

답변3

이 답변 중 어느 것도 나에게 적합하지 않습니다.

그러나 NCBI FTP 페이지에서 GSE* 폴더를 찾을 수 있습니다.

ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE48nnn/GSE48191/suppl/

그런 다음 해당 파일에서 링크 주소를 복사하고 간단한 wget을 수행할 수 있습니다.

wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE48nnn/GSE48191/suppl/GSE48191_RAW.tar

답변4

$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"에 주목하세요. 나는 그것을 직접 시도했고 훌륭하게 작동합니다.

관련 정보