Полное собрание сочинений на Mtaalamu

Решил я качнуть все свои материалы, размещенные на Mtaalamu. Не секрет ведь, что многие люди пишут на подобные сайты не столько из соображений честолюбия, сколько для того, чтобы мысль зафиксировать или описать какой-то алгоритм, чтобы потом его легко можно найти было. Чтобы все записи были под рукой даже в режиме offline я и предпринял такое действо. Может и еще кому пригодится эта технология.

Во-первых, топики зарегистрированного пользователя движка livestreet, на котором, как известно, работает Mtaalamu, можно посмотреть по адресу типа

/my/${USERNAME}/


В моем случае ${USERNAME} = yababay.

Список топиков разбит на страницы. В моем случае их 21 (да уж, понаписал за год). Скачиваем каждую без картинок, страниц и стилей:

for i in {1..21}
do 
     wget /my/yababay/page$i
done


В результате в текущий каталог выпадут файлы page1..page21. Выковыриваем из них гиперссылки:

for i in {1..21}
do 
     cat page$i | egrep -o -e 'http://mtaalamu.ru[/.a-z0-9]+html' >> myarticles.txt 
done


Поскольку многие гиперссылки встречаются в списке не по одному разу, сортируем их

cat myarticles.txt | sort > myarticles.sorted


и вручную (увы, не знаю как это автоматизировать) удаляем дублирующиеся. Затем выкачиваем каждую страничку, захватывая, помимо html, только картинки (в формате png в моем случае):

for i in `cat myarticles.sorted`
do 
    wget -A png,html -p -nH -nd -P. --convert-links $i
done


Почему такие ключи у команды wget — не знаю, взял готовую. Скажу только, что если не ограничить содержимое ключом -A, то скачаются также js-скрипты, css-стили и т.п. Оно мне, вроде как, не надо, это хозяйство можно и с сайта подтянуть .
  • +6
  • 26 августа 2010, 23:13
  • yababay

Комментарии (5)

RSS свернуть / развернуть
+
0
Классно
avatar

Gangsta

  • 27 августа 2010, 12:19
+
0
еще кстати как вариант пропарсить html чем-нибудь вроде lynx для получения рафинированного текста
avatar

Gangsta

  • 27 августа 2010, 12:20
+
+1
Я тоже к этой мысли пришел. Только Lynx у меня криво собрался, кириллицу показывает транслитом. Чтобы исправить ситуацию нужно, говорят, переконфигурировать с опциями

./configure --enable-widec --with-screen-ncursesw


Попробую — отпишусь.
avatar

yababay

  • 27 августа 2010, 12:49
+
0
менеджер пакетов спасет отца русской демократии =)
avatar

durman

  • 28 августа 2010, 00:38
+
0
«Я полагаю, что торг здесь неуместен!»



(Из исходников собирал, собираю и собирать буду!)
avatar

yababay

  • 28 августа 2010, 01:10

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.