ฉีกเว็บไซต์ผ่าน HTTP เพื่อดาวน์โหลดรูปภาพ, HTML และ CSS


22

ฉันต้องการฉีกเว็บไซต์ผ่าน HTTP ฉันจำเป็นต้องดาวน์โหลดรูปภาพ, HTML, CSS และ JavaScript รวมถึงจัดระเบียบในระบบไฟล์

ไม่มีใครรู้วิธีการทำเช่นนี้?


2
คุณควรระบุว่าคุณจะไม่ใช้ซอฟต์แวร์นี้ในการละเมิดลิขสิทธิ์ มิฉะนั้นเราจะสมมติว่าคุณต้องการสะท้อนเนื้อหาของคนอื่นเพื่อให้คุณสามารถสร้างรายได้จากมัน
belgariontheking

ครั้งหนึ่งเราเคยมีลูกค้าต้องการออก แต่ใช้เว็บไซต์ HTML แบบคงที่โดยละทิ้ง CMS ฉันใช้ HTTrack เพื่อสร้างเว็บไซต์คงที่ มันทำงานได้ดีบน Windows และ Ubuntu
TRiG

4
@ belgariontheking: คุณคิดว่าน่าสนใจที่สุด นอกจากนี้เรายังใช้ WinHTTrack เพื่อดาวน์โหลด HTML แบบคงที่ของเว็บไซต์ไดนามิกของเราเอง
Umber Ferrule

คำตอบ:


40
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com

สิ่งนี้จะทำงานในคอนโซล

สิ่งนี้จะดึงดูดไซต์รอ 3 วินาทีระหว่างคำขอ จำกัด ความเร็วในการดาวน์โหลดดังนั้นจึงไม่ฆ่าไซต์และปิดบังตัวเองในลักษณะที่ทำให้ดูเหมือนเป็นเพียงเบราว์เซอร์ดังนั้นไซต์จะไม่ตัดคุณออก ใช้กลไกต่อต้านปลิง

สังเกต-Aพารามิเตอร์ที่ระบุรายการประเภทไฟล์ที่คุณต้องการดาวน์โหลด

คุณยังสามารถใช้แท็กอื่น-D domain1.com,domain2.comเพื่อระบุชุดของโดเมนที่คุณต้องการดาวน์โหลดหากมีเซิร์ฟเวอร์อื่นหรือสิ่งอื่นใดสำหรับการโฮสต์ไฟล์ประเภทต่าง ๆ ไม่มีวิธีที่ปลอดภัยในการทำให้เป็นอัตโนมัติสำหรับทุกกรณีหากคุณไม่ได้รับไฟล์

wgetโดยทั่วไปจะติดตั้งล่วงหน้าบน Linux แต่สามารถรวบรวมได้เล็กน้อยสำหรับระบบ Unix อื่น ๆ หรือดาวน์โหลดได้ง่ายสำหรับ Windows: GNUwin32 WGET

ใช้สิ่งนี้เพื่อความดีและไม่ใช่ความชั่วร้าย


1
wget -erobots = off - ไม่มีผู้ปกครอง - รอ = 3 - ลบอัตรา = 50K -r -p -U "Mozilla / 4.0 (เข้ากันได้; MSIE 7.0; Windows NT 5.1)" -k --directory-prefix "C: \ rip" - page-requisites - htm, aspx, php, jsp, asp, zip, png, html, css, js, json, gif, jpeg, jpg, bmp domain.com
Chris S

สิ่งนี้ใช้ได้กับ "Vanity URL" หรือไม่ ฉันกังวลเกี่ยวกับเนื้อหาของฉัน (ตกลง, เพลง) ที่เขียนบนไซต์เครือข่ายสังคมออนไลน์และฉันต้องการสำรองข้อมูลในเครื่อง ไซต์คือ "www.example.com" แต่มี vanity URL พร้อมชื่อผู้ใช้ของฉัน "avi.example.com" ฉันไม่ต้องการดาวน์โหลดทั้งไซต์เพียงแค่เนื้อหาของฉัน!
Avi

บน Linux คุณอาจต้องการติดตั้ง wget จากซอร์ส ยกตัวอย่างเช่นเวอร์ชั่นของ Ubuntu ไม่แยก CSS ในขณะที่ wget อัปสตรีมทำ
GDR

16

ดีทางออกฟรี: HTTrack

HTTrack เป็นโปรแกรมอรรถประโยชน์เบราว์เซอร์ออฟไลน์ที่ใช้งานง่าย (GPL, libre / ฟรี)

ช่วยให้คุณสามารถดาวน์โหลดเว็บไซต์ World Wide จากอินเทอร์เน็ตไปยังไดเรกทอรีท้องถิ่นสร้างไดเรกทอรีทั้งหมดซ้ำรับ HTML, ภาพและไฟล์อื่น ๆ จากเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ของคุณ HTTrack จัดเรียงโครงสร้างลิงก์ที่สัมพันธ์กันของเว็บไซต์เดิม เพียงเปิดหน้าเว็บไซต์ "mirrored" ในเบราว์เซอร์ของคุณและคุณสามารถเรียกดูเว็บไซต์จากลิงก์ไปยังลิงก์ได้ราวกับว่าคุณกำลังดูอยู่ออนไลน์ HTTrack ยังสามารถอัพเดตไซต์ที่ทำมิเรอร์ที่มีอยู่และทำการดาวน์โหลดต่อให้ขัดจังหวะ HTTrack สามารถกำหนดค่าได้อย่างสมบูรณ์และมีระบบช่วยเหลือแบบบูรณาการ


7

สำหรับระบบ Linux นั้น 'wget' ทำสิ่งนี้ค่อนข้างมาก

มันยังได้รับการรังเพลิงไปยังแพลตฟอร์มอื่น ๆ อีกหลายแห่ง



เนื่องจากเป็นลินุกซ์ฉันอาจแค่สร้าง Ubuntu VM รัน wget และถ่ายโอนไฟล์กลับไปที่โฮสต์คอมพิวเตอร์ของฉัน ดูเหมือนว่าจะเร็วกว่าการย้ายไปยัง Windows :) (ได้รับการย้ายเข้า Windows อาจเป็นการออกกำลังกายที่ดีอยู่แล้ว!)
JMD

ฉันเรียกเดเบียนบนเครื่องของฉัน ฉันสามารถบอกให้ wget เรียกค้น dirs / javascript / css / images ที่เกี่ยวข้องได้หรือไม่โดยให้เพียงแค่โดเมน http root
damon

# ดาวน์โหลดเนื้อหาทั้งหมดของ example.com wget -r -l 0 example.com

ใช่ ... หรือใช้พอร์ต Windows ดั้งเดิมหรือใช้ Cygwin ...
Tmdean


1

ดูส่วนขยาย Scrapbook สำหรับ firefox มันทำงานได้อย่างน่าอัศจรรย์และยังรวมเข้ากับ firebug และช่วยให้คุณสามารถลบองค์ประกอบออกจาก DOM ก่อนที่คุณจะบันทึกหากคุณต้องการ


1

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

Linux: (มักรวมอยู่ใน distro) http://www.gnu.org/software/wget/
Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
Mac: http: //www.geekology co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/

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

อดัม


อันที่จริงมันเป็นเซิร์ฟเวอร์ของเราที่เราจะตอกย้ำ เว็บไซต์นั้นถูกสร้างขึ้นแบบไดนามิกผ่าน PHP และ CMS / DB นั้นถูกจัดเรียงตามความต้องการ มันเป็นเรื่องที่ซับซ้อนฉันเป็นนักพัฒนาที่เพิ่งมาถึงที่นี่ แต่ตอนนี้เรากำลังสร้างทุกสิ่งใน django ดังนั้นคุณไม่จำเป็นต้องกังวล
damon

1

ที่จริงแล้วการติดตามความคิดเห็นของฉันในโพสต์ของ GWLlosa ฉันเพิ่งจำได้ว่าฉันติดตั้ง GnuWin32 และแน่นอนว่ามันมีพอร์ต Windows ของ wget

http://sourceforge.net/projects/gnuwin32/

GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP


1

wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com

  • -p : พารามิเตอร์บอกให้ wget รวมไฟล์ทั้งหมดรวมถึงรูปภาพด้วย
  • -e robots=off : ละเว้นกฎเว็บไซต์ robots.txt
  • -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" : สตริงตัวแทนผู้ใช้
  • --random-wait : หลีกเลี่ยงการขึ้นบัญชีดำ
  • --limit-rate=20k : จำกัด อัตราการดาวน์โหลดไฟล์
  • -b : ยังคงดำเนินต่อไปหลังจากออกจากระบบ

นี่คือพารามิเตอร์ที่ฉันใช้ ฉันยังเพิ่มตัวเลือก-c(หรือ--continue) เมื่อสิ่งผิดปกติและฉันต้องรีสตาร์ทกระบวนการ
kub1x


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