Tải xuống một ảnh chụp nhanh từ Wayback Machine?


10

Có cách nào để tải xuống một ảnh chụp nhanh của toàn bộ trang web từ Wayback Machine không?

Tôi biết rằng chúng ta có thể sử dụng wget để khôi phục trang web cũ khỏi Wayback Machine (ví dụ wget -np -e robots=off --mirror --domains=staticweb.archive.org,web.archive.org http://web.archive.org/web/19970708161549/http://www.slackworks.com/) nhưng tôi tự hỏi liệu có thể làm điều đó trực tiếp từ trang web Wayback Machine hay không.


Bạn luôn có thể thực hiện tốt ol ' File -> Save
Vidar S. Ramdal

Nghe có vẻ hơi tẻ nhạt nếu bạn phải hoàn thành cho mỗi trang của trang web :-)
Franck Dernoncourt

Để có được toàn bộ trang web bằng cách sử dụng wget, bạn sẽ cần thêm một vài tham số, ví dụ --recursive --no-clobber --page-requisites --html-extension --convert-links- điều này phải bao gồm CSS, JS và, tất nhiên, hình ảnh.
Gwyneth Llewelyn

Câu trả lời:


4

Không thể tải xuống ảnh chụp nhanh từ Wayback Machine vì Điều khoản sử dụng của họ không được phép .

Từ những câu hỏi thường gặp của họ :

Mọi người có thể tải xuống các trang web từ Wayback không?

Điều khoản sử dụng của chúng tôi xác định rằng người dùng của Wayback Machine không được sao chép dữ liệu từ bộ sưu tập.


Điều đó không có nghĩa là mọi người không muốn làm như vậy và sẽ không làm như vậy.
Micheal Johnson

Có thể đáng chú ý rằng phần này đã bị xóa khỏi Câu hỏi thường gặp của họ và đã được thay thế bằng phần này: archive.org/about/faqs.php#26 . Nói một cách đơn giản, Wayback Machine không cung cấp các bản sao chụp nhanh của riêng họ. Ngôn ngữ của họ có vẻ hơi mơ hồ mặc dù các công cụ khác tải xuống từ đường trở lại có được phép hay không.
noirscape

9

Tôi đã gặp vấn đề tương tự và cuối cùng tôi đã mã hóa một viên ngọc Ruby.

Để cài đặt:

$ gem install wayback_machine_downloader

Sau đó, chạy wayback_machine_downloadervới url cơ sở của trang web bạn muốn truy xuất dưới dạng tham số (ví dụ: example.com):

$ wayback_machine_downloader http://example.com

Thêm thông tin: https://github.com/hartator/wayback-machine-doader


Làm tốt! Tuy nhiên, việc phải cài đặt toàn bộ sự phức tạp của Ruby chỉ để làm việc này cho một trang web duy nhất là quá nhiều rắc rối đối với tôi ... Tôi vẫn thích wgetgiải pháp cũ tốt hơn .
Gwyneth Llewelyn

Họ có một hình ảnh docker. Vấn đề lớn hơn đối với tôi là các đối số của họ để nhắm mục tiêu một phạm vi thời gian cụ thể bị phá vỡ. Đó là một vấn đề nếu bạn muốn tải về các ảnh chụp cho một trang web lớn và có nhiều ảnh chụp.
AndyO

1

Có một dịch vụ có thể tải xuống từ kho lưu trữ web http://waybackdoader.com


3
Vui lòng tiết lộ cho dù bạn có liên kết với trang web.
jonsca

2
Đó là một điều giúp mọi người viết một tập lệnh để tải xuống một trang web từ Wayback Machine, đó là một điều khác tính phí cho một dịch vụ đi ngược lại các điều khoản sử dụng.
Micheal Johnson

1

Tôi đã tạo tập lệnh để tải xuống toàn bộ trang web:

waybackmachine.sh
#!/usr/bin/env bash
# Wayback machine downloader
#TODO: Remove redundancy (download only newest files in given time period - not all of them and then write over them)
############################
clear

#Enter domain without http:// and www.
domain="google.com"
#Set matchType to "prefix" if you have multiple subdomains, or "exact" if you want only one page 
matchType="domain"

#Set datefilter to 1 if you want to download data from specific time period
datefilter=0
from="19700101120001" #yyyyMMddhhmmss
to="20000101120001" #yyyyMMddhhmmss

#Set this to 1 if your page has lots of captured pages with ? in url (experimental)
swapurlarguments=0
usersign='&' #sign to replace ? with

##############################################################
# Do not edit after this point
##############################################################
#Getting snapshot list
full="http://web.archive.org/cdx/search/cdx?url="
full+="$domain"
full+="&matchType=$matchType"
    if [ $datefilter = 1 ]
        then
            full+="&from=$from&to=$to"
        fi
full+="&output=json&fl=timestamp,original&fastLatest=true&filter=statuscode:200&collapse=original"  #Form request url

wget $full -O rawlist.json #Get snapshot list to file rawlist.json


#Do parsing and downloading stuff
sed 's/\"//g' rawlist.json  > list.json #Remove " from file for easier processing
rm rawlist.json #Remove unnecessary file
i=0; #Set file counter to 0
numoflines=$(cat list.json | wc -l ) #Fill numoflines with number of files to download
while read line;do # For every file
        rawcurrent="${line:1:${#line}-3}" #Remove brackets from JSON line
    IFS=', ' read -a current <<< "$rawcurrent" #Separate timestamp and url
    timestamp="${current[0]}"
    originalurl="${current[1]}"
    waybackurl="http://web.archive.org/web/$timestamp" 
    waybackurl+="id_/$originalurl" #Form request url
    file_path="$domain/"
    sufix="$(echo $originalurl | grep / | cut -d/ -f2- | cut -d/ -f3-)"
     [[ $sufix = "" ]] && file_path+="index.html" || file_path+="$sufix" #Determine local filename
clear
echo " $i out of $numoflines" #Show progress
echo "$file_path"
mkdir -p -- "${file_path%/*}" && touch -- "$file_path" #Make local file for data to be written
    wget -N $waybackurl -O $file_path #Download actual file
    ((i++))
done < list.json

#If user chose, replace ? with usersign
    if [ $swapurlarguments = 1 ]
        then
            cd $domain
            for i in *; do mv "$i" "`echo $i | sed "s/\?/\$usersign/g"`"; done #Replace ? in filenames with usersign
            find ./ -type f -exec sed -i "s/\?/\$usersign/g" {} \; #Replace ? in files with usersign
        fi

1
Tốt hơn để thêm nội dung quan trọng của liên kết trong câu trả lời.
serenesat

1
Tôi tin rằng toàn bộ kịch bản là câu trả lời
lazanet 7/10/2015

Đó là một nỗ lực tốt, nhưng tôi sợ rằng nó không còn hoạt động nữa ...
Gwyneth Llewelyn

-1

Có lẽ bạn có thể thử một trình tải xuống máy quay ngược lại như http://www.waybackmachinedoader.com hoặc http://www.waybackmachinedoads.com

Cả hai trang web này đều có bản demo miễn phí để quét vài trang từ URL lưu trữ để đảm bảo rằng tập lệnh hoạt động.

Có các công cụ khác nhưng tôi đã không kiểm tra chúng vì vậy tôi không thể đưa ra phản hồi.


1
Vui lòng thêm nội dung thiết yếu của liên kết vào câu trả lời để làm cho nó hữu ích hơn, vì câu trả lời chỉ liên kết sẽ trở nên vô dụng nếu liên kết đã thay đổi.
serenesat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.