Как зеркально отразить html-файлы и сопровождающие их изображения локально с помощью wget с указанными именами файлов? - PullRequest
1 голос
/ 22 февраля 2012

Мне нужно взять URL в виде HTML вместе с сопровождающими изображениями.HTML должен быть сохранен с пользовательским именем файла (я даю ему метку времени в вызывающем скрипте), и изображения должны иметь эти метки времени.

Результирующая папка должна быть структурирована следующим образом:

2012-02-22 06:00:00 UTC.html
2012-02-22 07:00:00 UTC.html
2012-02-22 08:00:00 UTC.html
img1_2012-02-22 06:00:00 UTC.gif
img2_2012-02-22 06:00:00 UTC.gif
img1_2012-02-22 07:00:00 UTC.gif
img2_2012-02-22 07:00:00 UTC.gif
img1_2012-02-22 08:00:00 UTC.gif
img2_2012-02-22 08:00:00 UTC.gif

По сути, это зеркало, которое должно переписывать пути изображений для локального относительного пути в html.Я поигрался с --directory-prefix и --output-document в wget без особого успеха, так как он встраивает изображения в выходной файл html.

Это выполнимо с помощью wget или лучше написать свойсценарий, чтобы просто вытянуть каждый файл вниз, а затем проанализировать HTML-файл, заменяя строки соответственно?

1 Ответ

1 голос
/ 22 февраля 2012

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

Проверить 4chan_image_crawler.rb

Программа делает эти вещи.

  • С учетом URL-адреса (нить URL-адреса 4chan.org/b/) создайте строковое значение, содержащее весь HTML-файл URL-адреса.
  • С некоторыми манипуляциями с регулярными выражениями поместите URL всех соответствующих изображений в массив с именем occurances .
  • Строка html содержит дубликаты ссылок на изображения. Так что просто очистите дубликаты и сохраните URL-адреса окончательного изображения в массив с именем result .
  • Для всех записей в массиве результатов сохраните изображения в папку / images в текущем каталоге.

Дайте мне знать, если у вас возникли проблемы с пониманием моего кода.

Ключом к успешному выполнению этой работы является знание того, как манипулировать регулярными выражениями и использование scan из класса String в Ruby.

...