Chodzi mi o to, aby pobrać każdą stronę dostępną z Wayback Machine w określonym czasie i przedziale czasowym. Na przykład chcę pobrać każdą stronę dostępną każdego dnia z nature.com od stycznia 2012 r. Do grudnia 2012 r. (Nie dokładnie to, co chcę zrobić, ale jest wystarczająco blisko - i stanowi dobry przykład).
Niestety, wget nie będzie działał ze względu na wyjątkowy charakter działania maszyny Wayback.
Wygląda na to, że narzędzia takie jak Wayback Machine downloader pobierają tylko najnowszą wersję strony.
Interakcja z interfejsem IA API wydaje się realną trasą, ale nie jestem pewien, jak by to działało.
Dzięki!
Odpowiedzi:
Sposób
wayback
formatowania adresów URL jest następujący:Oto
BASEURL
zwyklehttp://web.archive.org/web
(mówię zwykle, ponieważ nie jestem pewien, czy jest to jedyny BASEURL)TARGET
nie wymaga wyjaśnień (w twoim przypadkuhttp://nature.com
lub podobny adres URL)TIMESTAMP
ma miejsce,YYYYmmddHHMMss
kiedy dokonano przechwytywania (w UTC):YYYY
: Rokmm
: Miesiąc (2 cyfry - od 01 do 12)dd
: Dzień miesiąca (2 cyfry - od 01 do 31)HH
: Godzina (2 cyfry - od 00 do 23)MM
: Minuta (2 cyfry - od 00 do 59)ss
: Drugi (2 cyfry - od 00 do 59)Jeśli poprosisz o czas przechwytywania, który nie istnieje, maszyna zwrotna przekierowuje do najbliższego przechwytywania dla tego adresu URL, czy to w przyszłości, czy w przeszłości.
Możesz użyć tej funkcji, aby uzyskać każdy dzienny adres URL za pomocą
curl -I
(HTTPHEAD
), aby uzyskać zestaw adresów URL:Dzięki temu otrzymasz adresy URL, które są najbliżej południa każdego dnia 2012 roku. Wystarczy usunąć duplikaty i pobrać strony.
Uwaga: powyższy skrypt można prawdopodobnie znacznie ulepszyć, aby przejść do przodu w przypadku, gdy
REDIRECT
adres URL jest dłuższy niż 1 dzień w przyszłości, ale wtedy wymaga zdekonstruowania zwróconego adresu URL i dostosowaniaSTART
do prawidłowej wartości daty.źródło
wget
dowolnego innegopage-getter
z odpowiednimi opcjami (zwróć uwagę na-I
opcjęcurl
).Na Github znajduje się rubinowy klejnot: https://github.com/hartator/wayback-machine-downloader
źródło