Как сделать локальное зеркало веб-сайта с всплывающим окном подтверждения?

Мне нужно получить локальную копию веб-сайта, которая требует подтверждения своего возраста перед отображением содержимого. Никаких сложных форм, просто флажок и кнопка, «да, я взрослый». Я пытался использовать wget но без успеха, он загружает только этот начальный экран и ничего больше. Httrack тоже не удалось.

Я считаю, что информация подтверждения хранится в файле cookie, и я думаю, что узнал, какой из них он есть. Поэтому я скопировал его с помощью расширения chrome экспорта cookie.txt , а затем сохранил его в .txt и снова попробовал wget с параметром --load-cookies , но он все равно не работает.

Как загрузить такой веб-сайт? Я злоупотребляю wget или, может быть, есть лучший способ сделать это?

РЕДАКТИРОВАТЬ:

Хорошо, DownThemAll, похоже, выполняет эту работу. Наконец, мне удалось с помощью wget , используя

 wget -mpkrl 0 http://example.com 

возможно, -rl 0 было тем, чего я раньше отсутствовал.

После изучения источника страницы я обнаружил, что не задействована перезагрузка / перенаправление, подстраницы загружаются правильно, а экран подтверждения – это только iframe поверх страницы, поэтому я могу избавиться от него с помощью простого сценария.

(В этом конкретном случае беспорядок с кукисами в конечном итоге не был необходим, поэтому я не отправляю это как ответ.)

One Solution collect form web for “Как сделать локальное зеркало веб-сайта с всплывающим окном подтверждения?”

Это зависит от того, как настроен сайт, не все из них используют файлы cookie для этого – некоторые могут использовать такие вещи, как php-сеансы, и я не знаю, сможет ли wget обрабатывать его напрямую. Если вам удалось найти идентификатор сеанса (эта часть часто скрывается в адресной строке браузером или используется только один раз при входе в систему), вы можете использовать это (URL + session-id) в качестве start-url для wget.

Вернуться к файлам cookie … Мне, однако, нужно было делать подобные вещи самостоятельно, поэтому несколько советов …

Некоторые сайты используют файлы cookie, которые временно, т.е. только последний сеанс. Обычно они не хранятся в файле cookie.txt / cookie, поэтому не все файлы cookie-экспортеров будут экспортировать их – если они экспортируют из файла / базы данных, то нет … если он экспортирует из браузера – «память» (в сайт-база), то да. Personally, I've found the "cookie.txt export" extension for the Chrome-browser the best, as it saves *all* cookies (including temps) from just the active tab. (ну, на самом деле, он показывает файлы cookie как текст, вы должны пометить и скопировать его и сохранить его в файл самостоятельно). Для входа в систему; проверка «Запомнить меня», часто превращает временный файл cookie, который не сохраняется в файле cookie / database, в постоянный, поэтому его можно легко экспортировать (вероятно, это не поможет для подтверждения возраста).

После того, как вы сохранили файл cookie.txt, может быть неплохо немного его отредактировать – увеличить время истечения и, возможно, отредактировать временные файлы cookie на постоянные (подумайте, что это просто «переключатель»). Вы также можете удалить любые ненужные файлы cookie (например, объявления и т. Д.).

Сохранение окна браузера в то время, когда работает wget, и, возможно, обновление страницы или просмотр немного времени и времени – убедитесь, что ваш сеанс не истек до завершения wget.

Есть также расширения для браузеров … Мне нравится «Down-them-all» для Firefox; который позволяет загружать контент (хотя более интерактивно, чем wget). Вы получаете список ссылок текущей страницы и просто проверяете ссылки и / или изображения, которые хотите сохранить, и, при желании, сколько уровней в глубине вы хотите использовать для ссылок. Если вы впервые входите в систему и / или проверяете свой возраст, прежде чем запускать его, то «Down-them-all» будет зарегистрирован и зарегистрирован вместе с вашим браузером и должен иметь возможность загружать все, что вы могли бы загрузить вручную. Играйте с шаблонами переименования и нумерацией, так как я думаю, что он будет хранить все страницы на одном уровне, и в противном случае может быть именованный конфликт (он будет спрашивать, прежде чем перезаписывать).

Удачи!

  • Использование даты -1day с помощью wget
  • Как определить, куда перенаправляется ссылка
  • wget на лету, чтобы извлечь определенную информацию из файла, не загружая весь файл
  • Как найти реальный URL для скачивания
  • Не удается загрузить завиток
  • Что означает 2> & 1 в этой команде?
  • как загрузить личную электронную таблицу google из командной строки linux?
  • Продолжить загрузку, если временная метка не изменилась
  • Как установить пакет wget на сервер aix 7.1 без локального хранилища?
  • Загрузите все страницы, которые были связаны на странице в определенном регионе.
  • Как загрузить дубликаты изображений?
  • Interesting Posts

    Если файл переписан с тем же контентом, изменится ли время изменения?

    Почему эти два vim autocmd перекрывают друг друга?

    почему команда find использует {} для переменной-заполнителя?

    Освоение apt-get

    Новые привязки клавиш в ZSH не сохраняются

    Использование setkeycodes для отображения нажатых и отпускаемых на разные «клавиши»

    echo string >> файл не работает

    PuTTY (SSH) (tracert) Ошибка сети: программное обеспечение вызвало прерывание соединения

    Использование lpass для разблокировки ssh-ключа

    Зеркалирование с помощью xrandr с правильным соотношением сторон

    Пользователь без пароля – как войти в эту учетную запись из учетной записи, отличной от root

    Как я буду строить маршрутизатор на основе Linux?

    Групповой или всемирный доступный для записи каталог

    Как получить подсказку стиля стиля стрелки после установки powerline?

    Как вставить текст в качестве альтернативы из двух файлов с общим шаблоном

    Linux и Unix - лучшая ОС в мире.