คำถามติดแท็ก wget

wget - ยูทิลิตี้บรรทัดคำสั่งเพื่อดาวน์โหลดเนื้อหาแบบไม่โต้ตอบ (สามารถเรียกได้จากสคริปต์งาน cron เทอร์มินัลโดยไม่รองรับ X-Windows ฯลฯ )

2
การเรียกใช้หลายพันกระบวนการพื้นหลังขดในแบบคู่ขนานในสคริปต์ทุบตี
ฉันกำลังใช้งาน thounsand ของกระบวนการ background curlขนานในสคริปต์ทุบตีต่อไป START=$(date +%s) for i in {1..100000} do curl -s "http://some_url_here/"$i > $i.txt& END=$(date +%s) DIFF=$(( $END - $START )) echo "It took $DIFF seconds" done ฉันมีเซิร์ฟเวอร์เฉพาะ 49Gb Corei7-920 (ไม่ใช่เสมือน) ฉันติดตามการใช้หน่วยความจำและ CPU ผ่านtopคำสั่งและพวกเขาอยู่ไกลจากขอบเขต ฉันกำลังใช้ps aux | grep curl | wc -lเพื่อนับจำนวนกระบวนการcurlปัจจุบัน ตัวเลขนี้เพิ่มขึ้นอย่างรวดเร็วมากถึง 2-4 พันจากนั้นเริ่มลดลงอย่างต่อเนื่อง หากฉันเพิ่มการแยกวิเคราะห์อย่างง่าย ๆ …
14 linux  performance  bash  curl  wget 

2
ทำไม wget ของฉันไม่ตายหลังจากการสูญเสียการเชื่อมต่อ ssh?
ฉันsshแก้ไขเซิร์ฟเวอร์ของฉันwget -r -np zzz.aaa/bbb/cccและเริ่มทำงานและมันก็เริ่มทำงาน จากนั้นการเชื่อมต่ออินเทอร์เน็ตของฉัน (ที่บ้านของฉัน) ก็ถูกขัดจังหวะและฉันก็กังวลว่าสมมติว่าwgetมันเป็นhupเพราะการsshเชื่อมต่อขาดหายไปดังนั้นเทอร์มินัลก็เสียชีวิต แต่ฉันsshก็รู้ว่ามันยังทำงานอยู่และวางเอาท์พุทwget.logและดาวน์โหลดสิ่งต่างๆ มีใครช่วยอธิบายให้ฉันฟังหน่อยว่าเกิดอะไรขึ้นที่นี่ นี่คือสิ่งที่psให้ฉัน: PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 32283 0.6 29.4 179824 147088 ? S 14:00 1:53 wget -r -np zzz.aaa/bbb/ccc อะไรที่มันไม่ (เครื่องหมายคำถาม) ?หมายถึงในคอลัมน์ของtty?
13 ssh  terminal  wget  signals 

2
เพิกเฉยกับโดเมน“ อื่น ๆ ” เมื่อดาวน์โหลดด้วย wget หรือไม่
ฉันต้องการรวบรวมข้อมูลลิงก์ภายใต้ www.website.com/XYZ และดาวน์โหลดเฉพาะลิงค์ที่อยู่ภายใต้ www.website.com/ABC ฉันใช้คำสั่ง wget ต่อไปนี้เพื่อรับไฟล์ที่ฉันต้องการ: wget -I ABC -r -e robots=off --wait 0.25 http://www.website.com/XYZ มันทำงานได้อย่างสมบูรณ์แบบเมื่อฉันใช้ wget 1.13.4 แต่ปัญหาคือฉันต้องใช้คำสั่งนี้บนเซิร์ฟเวอร์ที่มี wget 1.11 และเมื่อฉันใช้คำสั่งเดียวกันมันจะสิ้นสุดการดาวน์โหลดโดเมนเพิ่มเติมเช่น: www.website.de www.website.it ... ฉันจะหลีกเลี่ยงปัญหานี้ได้อย่างไร ฉันพยายามใช้ --exclude domains=www.website.de,www.website.it อย่างไรก็ตามมันยังคงดาวน์โหลดโดเมนเหล่านั้น นอกจากนี้โปรดทราบว่าฉันไม่สามารถใช้งานได้--no-parentเนื่องจากไฟล์ที่ฉันต้องการอยู่ในระดับสูงกว่า (ฉันต้องการไฟล์ภายใต้ website.com/ABC โดยรวบรวมข้อมูลลิงก์ภายใต้ website.com/XYZ) คำใบ้ใด ๆ

4
ฉันจะ จำกัด ขนาดไฟล์ที่ดาวน์โหลดใน wget ได้อย่างไร
ฉันต้องการใช้wget(จากสคริปต์ PHP) เพื่อดาวน์โหลดไฟล์ภาพ แต่ไม่ต้องการดาวน์โหลดไฟล์ในขนาดที่กำหนด ฉันสามารถ จำกัด ขนาดไฟล์ด้วยได้wgetหรือไม่? ถ้าไม่เป็นวิธีที่ดีกว่าคืออะไร?
13 files  wget  size 

2
มีวิธีบรรทัดคำสั่งที่ฉันสามารถตรวจสอบว่าไฟล์ที่ดาวน์โหลดมานั้นสมบูรณ์หรือไม่?
ฉันกำลังเขียนสคริปต์ที่เกี่ยวข้องกับการดาวน์โหลดและการจัดการไฟล์และฉันต้องการให้แน่ใจว่าไฟล์ไม่สมบูรณ์ (เนื่องจากการเชื่อมต่อที่ลดลง) ก่อนที่ฉันจะทำงานกับมัน

2
ทางเลือกในการ wget
ฉันมีเว็บไซต์บนเซิร์ฟเวอร์ที่โดยทั่วไปเป็นหน้า HTML รูปภาพและเสียง ฉันลืมรหัสผ่านของฉันไปที่เซิร์ฟเวอร์นั้นและฉันต้องคว้าทุกสิ่งที่เก็บไว้ที่นั่น ฉันสามารถไปทีละหน้าและบันทึกทุกอย่าง แต่เว็บไซต์มีมากกว่า 100 หน้า ฉันใช้ OSX ฉันได้ลองใช้wgetแต่ฉันคิดว่าเซิร์ฟเวอร์กำลังบล็อกอยู่ มีทางเลือกอื่นที่ฉันสามารถใช้เพื่อจับเนื้อหานั้นหรือไม่?
13 wget 

1
วิธีแก้ไขส่วนหัว 'ที่แก้ไขล่าสุด' หายไปอย่างไร
ฉันทำงานwgetแบบนี้: wget --mirror --adjust-extension --convert-links --no-cookies http://tshepang.net -o log-main ฉันได้รับข้อความเหล่านี้: Last-modified header missing -- time-stamps turned off. ฉันคิดว่านั่นหมายความว่าหน้าเว็บจะได้รับการดาวน์โหลดซ้ำแม้ว่าฉันจะมีอยู่ในเครื่องก็ตาม หมายเหตุ : ฉันต้องการสิ่งนี้เพื่อที่ฉันจะได้ไม่ต้องดาวน์โหลดไฟล์ที่มีอยู่ทุกครั้งที่ฉันเรียกใช้มิเรอร์คำสั่ง
13 wget  web 

2
กลับมาไบนารีแทน html หรือไม่
ฉันใช้ wget เพื่อดาวน์โหลดหน้า html คงที่ เครื่องมือตรวจสอบ W3C บอกฉันว่าหน้านั้นเข้ารหัสใน UTF-8 แต่เมื่อฉันแมวไฟล์หลังจากดาวน์โหลดฉันได้รับพวงของไบนารีไร้สาระ ฉันใช้ Ubuntu และฉันคิดว่าการเข้ารหัสเริ่มต้นคือ UTF-8 นั่นคือสิ่งที่ไฟล์ภาษาของฉันดูเหมือนว่าจะพูด เหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะแก้ไขได้อย่างไร Content-Encoding: gzipนอกจากนี้ดูเหมือนว่า บางทีนี่อาจจะทำให้ต่าง นี่คือคำขอที่เรียบง่าย: wget https://www.example.com/page.html ฉันก็ลองทำเช่นนี้: wget https://www.example.com/page.html -q -O - | iconv -f utf-16 -t utf-8 > output.html ซึ่งส่งคืน: iconv: illegal input sequence at position 40 cat'ing ไฟล์คืนค่าไบนารีที่มีลักษณะดังนี้: l�?חu�`�q"�:)s��dġ__��~i��6n)T�$H�#���QJ ผลลัพธ์ของxxd output.html | …

2
Wget: แปลงลิงค์และหลีกเลี่ยงการดาวน์โหลดไฟล์ที่ดึงมาแล้ว?
ฉันกำลังดาวน์โหลดข้อมูลที่แพร่กระจายในหลาย ๆ ไฟล์ที่ไม่เปลี่ยนแปลงเมื่อเผยแพร่ ดังนั้นจึง--timestampingไม่ดีพอเพราะมันคอยตรวจสอบทรัพยากรที่เปลี่ยนแปลงอยู่ตลอดเวลาซึ่งในกรณีของฉันไม่มีจุดหมายอย่างสมบูรณ์ --no-clobberจะพอดีอย่างสมบูรณ์แบบ น่าเสียดายที่มันใช้งานไม่ได้ด้วย--convert-links เหตุผลบางอย่าง มีการระบุทั้ง - Clobber และ --convert-links เฉพาะ --convert-links เท่านั้น ฉันหวังว่า--backup-convertedจะช่วยได้ แต่มันก็ไม่ได้เปลี่ยนอะไรเลย (ใช้งาน--timestampingได้) ทำไมwget --convert-links --backup-converted --no-clobber --wait 1 https://example.comไม่สนใจ--no-clobberและจะแก้ไขอย่างไร
12 wget  download 

5
เขียนเอาต์พุตของ wget หรือ curl ไปยังชื่อไฟล์ที่กำหนดเองตาม url
http://www.abc.com/123/def/ghi/jkl.mnoเช่นฉันมีการเชื่อมโยง ฉันต้องการดาวน์โหลดโดยใช้wgetหรือcurlรับชื่อของไฟล์ที่ส่งออกdef_ghi_jkl.mnoซึ่งเป็นส่วนที่def_ghiนำมาจากลิงค์ ฉันจะใส่wgetคำสั่งนี้ในสคริปต์เพื่อดาวน์โหลดหลายไฟล์ดังนั้นจึงไม่สามารถให้ชื่อไฟล์ที่ส่งออกได้อย่างชัดเจน
12 filenames  wget  curl 

3
การติดตั้งดรอปบ็อกซ์ (สำหรับการสำรวจไฟล์)
ฉันต้องการสำรวจระบบไฟล์ดรอปบ็อกซ์โดยไม่ต้องโหลด CPU หน่วยความจำที่เก็บข้อมูล (เช่นโดยไม่ต้องบันทึกสำเนาของไฟล์รีโมตในเครื่อง) ดูเหมือนว่าลูกค้าอย่างเป็นทางการสิ้นเปลือง reosurces มาก (และจะทำการดำเนินงานที่ไม่จำเป็นเช่นซิงค์) - http://www.lowendtalk.com/discussion/3179/dropbox-memory-usage-on-linux หนึ่งสามารถเพียงแค่ติดมัน (พูดกับฟิวส์และไม่มีการคัดลอกไฟล์ในประเทศ) และสำรวจไฟล์ที่มีสาธารณูปโภค Unix ปกติ ( ls, du, cp)? ( ฉันต้องการสิ่งที่คล้ายกันสำหรับ public.me.com : -likewget -rหรือ FUSE) Dropbox-Uploader (สคริปต์ทุบตีที่ใช้ dropbox API เพื่อเข้าถึง) สามารถช่วยให้เข้าถึง Dropbox ด้วยวิธี Unix แต่น่าเสียดายที่มันไม่รองรับการดาวน์โหลดไดเรคทอรี่แบบเรียกซ้ำ (เช่นwget -r) นั่นเป็นเหตุผลว่าทำไมฉันถึงอยากมี wrapper ของ FUSE อยู่ด้านบน

5
คุณหยุด 'wget' หลังจากที่ได้รับ 404 ได้อย่างไร
หากคุณใช้การขยายรั้งด้วยwgetคุณสามารถดึงภาพที่มีหมายเลขตามลำดับได้อย่างง่ายดาย: $ wget 'http://www.iqandreas.com/sample-images/100-100-color/'{90..110}'.jpg' มันดึง 10 ไฟล์แรก90.jpgที่ถูก99.jpgปรับให้เป็นตัวเลขแต่100.jpgกลับมาเป็นข้อผิดพลาด404: ไฟล์ไม่พบไฟล์ (ฉันมีเพียง 100 ภาพเก็บไว้ในเซิร์ฟเวอร์) ไฟล์ที่ไม่มีอยู่เหล่านี้กลายเป็น "ปัญหา" มากกว่าถ้าคุณใช้ช่วงที่ใหญ่กว่าเช่น{00..200}ด้วยไฟล์ที่ไม่มีอยู่ 100 ไฟล์มันจะเพิ่มเวลาในการเรียกใช้งานสคริปต์และอาจกลายเป็นภาระเล็กน้อย (หรืออย่างน้อยก็สร้างความรำคาญ) เซิฟเวอร์. มีวิธีใดบ้างที่wgetจะหยุดหลังจากได้รับข้อผิดพลาด 404 ครั้งแรกหรือไม่ (หรือดียิ่งขึ้นสองในแถวในกรณีที่มีไฟล์หายไปในช่วงด้วยเหตุผลอื่น) คำตอบไม่จำเป็นต้องใช้การขยายรั้ง; ลูปก็ดีเช่นกัน

2
อะไรคือ "บทความ 2001" สำหรับการปิดกั้น "โปรแกรมดึงข้อมูลอัตโนมัติ" ที่อ้างถึงโดยหน้าคน wget?
wgetหน้าคนกล่าวนี้ภายใต้หัวข้อสำหรับ--random-waitพารามิเตอร์: Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. [...] A 2001 article in a publication devoted to development on a popular consumer platform provided code to perform this analysis on the fly. …

1
ลองยกเลิกการลองใหม่หลังจากความล้มเหลวหรือหมดเวลา
ฉันกำลังเรียก url พร้อม wget: /usr/bin/wget --read-timeout=7200 https://site_url/s Wget ทำการร้องขอ GET ทุก ๆ 15 นาทีในกรณีนี้แม้ว่าจะหมดเวลาแล้ว แต่ทำไมถึงเกิดขึ้น? ควรทำการโทรเพียงครั้งเดียวฉันจะตั้งค่าให้ไม่ลองใหม่ได้อย่างไร ฉันรู้ว่าคุณสามารถตั้งค่าได้t=nแต่ 0 ไม่มีที่สิ้นสุดและ 1 คือ 1 มากกว่าที่ฉันต้องการ
11 linux  rhel  wget 

3
วิธีใช้ wget เพื่อดาวน์โหลดจากโฮสต์ไซต์?
wget เป็นเครื่องมือที่มีประโยชน์มากในการดาวน์โหลดข้อมูลบนอินเทอร์เน็ตได้อย่างรวดเร็ว แต่ฉันสามารถใช้มันเพื่อดาวน์โหลดจากโฮสต์ไซต์เช่น FreakShare, IFile.it Depositfiles, อัปโหลด, Rapidshare หรือไม่ ถ้าเป็นเช่นนั้นฉันจะทำอย่างไร

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