การดาวน์โหลดไฟล์โดยใช้ wget


15

ฉันพยายามดาวน์โหลดไฟล์จากเว็บไซต์นี้

URL คือ: 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 นี้ได้อย่างไร

คำตอบ:


22

ฉันคิดว่าคุณ?โดนตีความโดยเชลล์ (แก้ไขโดย 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โดยตรง


มันได้รับการดาวน์โหลด แต่มันไม่ได้เป็นไดเรกทอรี หากคุณดูที่ลิงค์ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE48191คุณจะเห็นว่ามีไฟล์. gz หลายไฟล์ ฉันยังเข้าถึงพวกเขาไม่ได้ ??
user3138373

ฉันคิดว่า OP ใช้เชลล์ที่ละเว้น?เป็น wildcard เนื่องจากไม่มีอะไรที่ตรงกัน ปัญหาหลักคือ&: สิ่งนี้จะรันส่วนที่นำหน้า (ด้วย URL ที่ไม่สมบูรณ์) ในพื้นหลัง แต่การแก้ปัญหาเหมือนกัน: เพื่ออ้าง URL
vinc17

ขอบคุณคุณ terdon และ vinc สำหรับการแก้ไข / แก้ไข @ user3138373: ฉันหาไฟล์. gz ของคุณไม่พบในลิงก์ที่ให้มาคุณช่วยกรุณาบอก URL ที่คุณใช้เพื่อดู / เข้าถึงไฟล์เหล่านั้นอีกครั้งได้ไหม
Qeole

1
@ user3138373 ไฟล์ที่คุณดาวน์โหลดเป็นไฟล์เก็บถาวร ( .tarไฟล์) ที่มีไฟล์. gz เมื่อคุณดาวน์โหลดแล้วให้เรียกใช้tar xvf GSE4819.tarเพื่อขยายการเก็บถาวรและเข้าถึงไฟล์
terdon

3

อีกวิธีที่อาจเป็นไปได้คือใช้คำสั่งนี้:

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

-Oคำสั่งจะระบุชื่อที่จะดาวน์โหลดไป

แน่นอนปัญหาเริ่มต้นของคุณคือเพราะเชลล์ "&" กำลังถูกตีความโดยเชลล์โดยรอบ URL ด้วยเครื่องหมายคำพูดคู่จะช่วยแก้ไขปัญหาได้


2
-O ตัวเลือกที่ใช้ในการระบุชื่อของไฟล์ที่บันทึกข้อมูล dowloaded ไม่มีข้อมูลที่ดาวน์โหลด (อาจเป็นสิ่งที่คุณหมายถึง แต่ฉันพบว่าไม่ชัดเจน)
Qeole

ใช่ขอโทษฉันจะแก้ไขของฉัน
ryekayo

ฉันไม่แน่ใจว่าทำไมสิ่งนี้จึงลงคะแนน
ryekayo

3
ฉันไม่ได้ลงคะแนน แต่อาจเป็นเพราะโซลูชันของคุณไม่ได้แก้ไขปัญหา: &ถูกตีความโดยเชลล์และการดาวน์โหลด.tarไฟล์จะล้มเหลว
Qeole

0

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

คุณควรได้รับไฟล์ที่คุณต้องการดาวน์โหลดไปยังไดเรกทอรีปัจจุบันที่คุณอยู่


wget: missing URLคือสิ่งที่ตอบกลับไปว่าเพราะคุณจะหายไปโต้แย้งไปwget -Oนอกจากนี้ฉันคิดว่านี่อาจไม่สามารถแก้ปัญหา OP ได้
Celada

เนื่องจากมี URL &คำตอบนี้จึงไม่สามารถทำงานได้เว้นแต่คุณจะเพิ่ม""หรือ''แก้ไข URL
Aaron Franke

0

จาก $ 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

สังเกตว่า "s" หลังจาก http ฉันลองด้วยตัวเองและใช้งานได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.