Odbicie lustrzane strony internetowej ze stronami korzystającymi z prostego JavaScript [duplikat]


1

Istnieją proste i świetne narzędzia do pobierania stron internetowych, które pozwalają stworzyć lokalne lustro prostych stron bez infrastruktury JavaScript. Czasami jednak zdarza się, że strona wygląda na prostą (a nawet wystarczająco starą, aby być prawdziwą witryną „web 1.0”), ale żadne z takich narzędzi do pobierania nie jest w stanie zrobić jej kopii lustrzanej. Próbowałem stworzyć lokalne dublowanie dla tej strony dla fanów (na przykład, zawiera ona niektóre transkrypcje, których nie można znaleźć gdzie indziej, i kilka rzadszych rzeczy) za pomocą HTTrack Site Copier, Free Download Managera i wget. Wszystkie z nich tworzyły proste mirrory pozbawione dużej ilości treści. Widziałem kilka skryptów na tych stronach, i prawdopodobnie to uniemożliwia tworzenie kopii lustrzanych.

Jak mogę wykonać kopię lustrzaną witryny z włączoną prostą obsługą JS? Być może istnieje rozwiązanie obsługiwane przez przeglądarkę internetową, które może obsługiwać JS po wyjęciu z pudełka (dowolne rozszerzenie przeglądarki itp.)?

Z góry dziękuję.


Przepraszam, ale co masz na myśli przez odzwierciedlenie strony internetowej?
Dave

1
@ c0dev nie jestem pewien, czy możliwy duplikat jest w stanie pomóc, ponieważ to rozwiązanie opiera się na wget. Nie mogę zmusić wgeta do spełnienia moich potrzeb. Widziałem jednak wget.addictivecode.org/FeatureSpecifications/JavaScript w tym pytaniu i sprawdzę to później.
Lyubomyr Shaydariv

@DaveRook Mam na myśli „zrobienie dokładnej (mniej lub bardziej) kopii strony internetowej”. Przepraszam, jeśli mój angielski nie jest w porządku.
Lyubomyr Shaydariv

Ach, rozumiem - nie, twój angielski jest świetny, po prostu nie byłem pewien. Dlaczego nie spróbować zapisać strony na komputerze? W IE możesz zapisać całą stronę
Dave

@DaveRook dziękuję. :) O ile mi wiadomo, wszystkie główne przeglądarki mogą zapisywać tylko pojedyncze strony internetowe, ale nie całe strony internetowe. Problem z tą witryną polega na tym, że używa ona, o ile widzę, JavaScript do dynamicznego ładowania treści. Chcę tylko zrobić rekursywną kopię witryny (tak jak robią to roboty indeksujące), ale niestety żadne z tych narzędzi nie może tego zrobić (przynajmniej w przypadku tego, co próbowałem) w tym przypadku.
Lyubomyr Shaydariv

Odpowiedzi:


0

W tym konkretnym przypadku skończyłem z następującym bashskryptem:

#!/bin/bash

DOWNLOAD="wget -m -p -E -np -k"
SITE="http://homepage.tinet.ie/~themma"

$DOWNLOAD $SITE/
$DOWNLOAD $SITE/songs/
$DOWNLOAD $SITE/songs/songs.html
$DOWNLOAD $SITE/songs/disco.html
$DOWNLOAD $SITE/links/
$DOWNLOAD $SITE/other/
$DOWNLOAD $SITE/tour/

for i in `seq 1 8`;
do
    $DOWNLOAD $SITE/images/bar_0$i.gif
    $DOWNLOAD $SITE/images/bar_0$i-over.gif
    $DOWNLOAD $SITE/images/bar_0$i-bar_03_over.gif
done

for i in `seq 1989 2003`
do
    $DOWNLOAD $SITE/images/$i.gif
done

Nie mogłem zasymulować zachowania JavaScript, ale ponieważ strona jest niezwykle prosta, nie trzeba jej zbytnio analizować, aby napisać wgetskrypt powłoki. To trochę trudne, ale działa. Dziękuję wszystkim za sugestie.

Nie zaznaczam tej odpowiedzi jako najlepszej, ponieważ moja odpowiedź dotyczy tylko konkretnego przypadku. Tak więc wszelkie pomysły dotyczące bardziej ogólnego przypadku są naprawdę mile widziane (wszelkie „inteligentne” narzędzia cmd-line, rozszerzenia przeglądarki itp.).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.