Mengunduh file menggunakan wget

15

Saya mencoba mengunduh file dari situs web ini .

URL-nya adalah: http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

Ketika saya menggunakan perintah ini:

wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file 

Saya hanya mendapatkan index.html?acc=GSE48191yang merupakan semacam format biner.

Bagaimana saya bisa mengunduh file dari situs HTTP ini?

pengguna3138373
sumber

Jawaban:

22

Saya pikir Anda ?akan ditafsirkan oleh shell (Koreksi oleh vinc17: lebih mungkin, itu &yang ditafsirkan).

Coba saja dengan kutipan sederhana di sekitar URL Anda:

wget 'http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file'

Perhatikan bahwa file yang Anda minta adalah .tarfile tetapi perintah di atas akan menyimpannya sebagai index.html?acc=GSE48191&format=file. Untuk menamainya dengan benar, Anda dapat mengubah nama menjadi .tar:

mv 'index.html?acc=GSE48191&format=file' GSE4819.tar

Atau Anda dapat memberikan nama sebagai opsi untuk wget:

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

Perintah di atas akan menyimpan file yang diunduh GSE48191.tarsecara langsung.

Qeole
sumber
Itu akan diunduh tetapi itu bahkan bukan direktori. Jika Anda melihat tautan ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191 , Anda dapat melihat ada beberapa file .gz. Saya masih tidak bisa mengaksesnya ??
user3138373
Saya kira OP menggunakan shell yang mengabaikan ?sebagai wildcard karena tidak ada yang cocok. Masalah utama adalah &: ini akan menjalankan bagian yang mendahului (dengan URL yang tidak lengkap) di latar belakang. Tetapi solusinya sama: mengutip URL.
vinc17
Terima kasih kepada Anda terdon dan vinc untuk edit / koreksi. @ user3138373: Saya tidak dapat menemukan file .gz Anda di tautan yang disediakan, bisakah Anda memberi tahu lagi URL apa yang Anda gunakan untuk melihat / mengaksesnya?
Qeole
1
@ user3138373 file yang Anda unduh adalah arsip ( .tarfile) yang berisi file .gz. Setelah Anda mengunduhnya, jalankan tar xvf GSE4819.taruntuk memperluas arsip dan mengakses file.
terdon
3

Cara lain yang mungkin berhasil adalah dengan menggunakan perintah ini:

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

The -Operintah akan menentukan nama untuk men-download ke.

Tentu saja, masalah awal Anda adalah karena tanda "&" ditafsirkan oleh shell, mengelilingi URL dengan tanda kutip ganda memperbaiki masalah.

ryekayo
sumber
2
-O Opsi digunakan untuk menentukan nama file di mana data dowload disimpan. Tidak ada kejadian pada data yang diunduh (mungkin itu yang Anda maksud, tapi saya merasa tidak jelas).
Qeole
Ya maaf, saya akan melakukan koreksi
ryekayo
Saya tidak yakin mengapa ini diturunkan.
ryekayo
3
Saya tidak downvote, tapi itu mungkin karena solusi Anda tidak memperbaiki masalah: &ditafsirkan oleh shell, dan pengunduhan .tarfile akan gagal.
Qeole
0

wget -O "name-you-want-to-save-as.format" http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file

Itu seharusnya membuat Anda file yang ingin Anda unduh ke direktori saat ini Anda berada.

Samman Bikram Thapa
sumber
wget: missing URLadalah wgetjawaban untuk itu, karena Anda melewatkan argumen -O. Juga, saya pikir ini mungkin tidak menyelesaikan masalah OP.
Celada
Karena URL berisi &, jawaban ini tidak berfungsi kecuali jika Anda menambahkan ""atau ''sekitar URL.
Aaron Franke
0

Dari $ 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>

Jadi yang perlu Anda lakukan

wget https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191

Perhatikan "s" setelah http. Saya mencobanya sendiri dan itu bekerja dengan baik.

Surat M
sumber