1

Существуют простые и удобные инструменты для загрузки веб-сайтов, которые позволяют создавать локальные зеркала простых сайтов, не имеющих JavaScript-инфраструктуры. Тем не менее, иногда бывают случаи, когда сайт выглядит простым (и даже достаточно старым, чтобы быть настоящим сайтом с веб-версией 1.0), но ни один из таких инструментов загрузки не может его отразить. Я попытался сделать локальное зеркало для этого фан-сайта (например, у него есть некоторые транскрипции, которые не могут быть найдены в другом месте, и некоторые более редкие вещи), используя HTTrack Site Copier, Free Download Manager и wget. Все они делали простые зеркала без содержания. Я видел несколько скриптов на этих страницах, и, вероятно, это мешает зеркалированию.

Как я могу зеркалировать веб-сайт с включенным простым JS? Возможно, есть решение на основе веб-браузера, которое может поддерживать JS из коробки (любое расширение для браузера и т.д.)?

Заранее спасибо.

1 ответ1

0

В данном конкретном случае я получил следующий скрипт bash :

#!/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

Конечно, я не мог смоделировать поведение JavaScript, но так как сайт очень прост, его не так много, чтобы проанализировать его, чтобы написать сценарий оболочки на основе wget . Это немного сложно, но это работает. Спасибо всем за предложения.

Я не отмечаю этот ответ как лучший, потому что мой ответ реализует только конкретный случай. Поэтому любые идеи, касающиеся более общего случая, действительно приветствуются (любые "интеллектуальные" инструменты cmd-line, расширения браузера и т.д.).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .