ทำให้ wget แปลงลิงก์ HTML เป็นญาติหลังจากดาวน์โหลดหากไม่ได้ระบุ -k


31

-kตัวเลือก (หรือ--convert-link) จะแปลงการเชื่อมโยงในหน้าเว็บของคุณญาติหลังจากเสร็จสิ้นการดาวน์โหลดเช่นหน้าคนพูดว่า:

หลังจากดาวน์โหลดเสร็จแล้วให้แปลงลิงก์ในเอกสารเพื่อให้เหมาะสำหรับการดูในเครื่อง สิ่งนี้มีผลกระทบไม่เพียง แต่การเชื่อมโยงหลายมิติที่มองเห็นได้ แต่ส่วนใด ๆ ของเอกสารที่เชื่อมโยงไปยังเนื้อหาภายนอกเช่นรูปภาพที่ฝังตัวลิงก์ไปยังสไตล์ชีทการเชื่อมโยงหลายมิติไปยังเนื้อหาที่ไม่ใช่ HTML เป็นต้น

ดังนั้นถ้าฉันไม่ได้ระบุ-kฉันสามารถรันwgetอีกครั้งหลังจากดาวน์โหลดและแก้ไขและถ้าเป็นเช่นนั้นคำสั่งที่เหมาะสมจะเป็นอย่างไร ฉันเดาwget -c [previous options used] [url]และเรียกใช้ในไดเรกทอรีการทำงานเดียวกันกับไฟล์ที่ถูกดาวน์โหลด


1
แน่นอนคุณสามารถโพสต์ไฟล์หลังจากดาวน์โหลด แต่ฉันไม่ทราบว่าwgetจะทำ ความคิดของคุณที่จะลองด้วย-cเป็นสิ่งที่ดี ถึงเวลาทดลอง!
ต้มตุ๋น quixote

มีประโยชน์ในการแปลงลิงค์โดยบังเอิญหรือไม่ ที่ทำงานบน Windows โดยวิธีการ ...
นาธาเนียล

perl... ไม่มีสคริปต์ที่เขียนไว้ก่อน แต่ถ้าฉันต้องการโซลูชัน DIY นั่นคือสิ่งที่ฉันต้องการใช้
นักต้มตุ๋น Quixote

โอเคขอบคุณ. ไม่ได้ติดตั้ง Perl และใช้เวลานานเกินไปที่จะคว้ามัน โชคดีที่ฉันพบวิธีที่จะทำให้งานสำเร็จ ฉันโพสต์คำตอบ
นาธาเนียล

btw, ActivePerl อยู่ในระดับพอร์ต windows perl; มันเป็นตัวติดตั้งที่ค่อนข้างเล็กและฉันค่อนข้างแน่ใจว่าโมดูล CPAN ส่วนใหญ่จะใช้งานได้ activestate.com/activeperl
quack quixote

คำตอบ:


23

ใช่คุณสามารถwgetทำมันได้ wget -nc -k [previous options] [previous url]ผมว่าการใช้งาน -ncไม่มีคนอุดตัน จากหน้าคน:

เมื่อ−ncมีการระบุไว้พฤติกรรมนี้จะถูกระงับและ Wget จะปฏิเสธที่จะดาวน์โหลดสำเนาไฟล์ใหม่

และ-kตัวเลือกจะทำการแปลงลิงค์ ดังนั้น wget เริ่มขุดในเซิร์ฟเวอร์ระยะไกลเห็นไฟล์ทั้งหมดที่คุณมีอยู่แล้วปฏิเสธที่จะดาวน์โหลดซ้ำแล้วแก้ไขลิงค์ HTML เพื่อญาติเมื่อทำเสร็จแล้ว ดี


3
ไม่มันไม่ได้ผลสำหรับฉัน เขาดาวน์โหลดไฟล์แรก (เช่น index.html) ดูว่ามีการดาวน์โหลดพร้อมทั้งหมดแล้ว หากคุณต้องการทำงานซ้ำซ้ำคุณต้องใช้ตัวเลือกการประทับเวลา (-K) ดังนั้น wget จะต้องร้องขอให้ทุกส่วนหัวตรงกันถ้าไฟล์นั้นใหม่กว่าหรือไม่

12
GNU Wget 1.13.3 สร้างเมื่อวันที่ darwin11.1.0 พยายามใช้ตัวเลือกทั้งสองในเวลาเดียวกันให้Both --no-clobber and --convert-links were specified,only --convert-links will be used.
Ludovic Kuty

2
คำถามของคุณไม่ถามหากไม่มี -k?
barlop

8
cf เลย ความคิดเห็นของ @ LudovicKuty - ในขณะที่ wget 1.13 --no-clobberไม่สามารถใช้งาน--convert-linksได้ ดูhttp://savannah.gnu.org/bugs/?31781เพื่อดูรายละเอียด
David Moles

1
ในกรณีที่ใครสนใจฉันสร้างภาพนักเทียบท่าสำหรับ wget 1.12: hub.docker.com/r/berezovskyi/wget1.12
berezovskyi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.