Как скачать весь журнал с сервера LJ

Jun 30, 2017 17:01

Решил записать, в основном для себя, но вдруг еще кому полезно.

1. Идем на страницу http://www.livejournal.com/export.bml и выбираем свой вариант. Мне нужны только время, заголовок, текст:


Не забудьте выбрать год и месяц, любые, не имеет значения.

[Spoiler (click to open)]2. Открываем Chrome Developer Tools (Shift+Ctrl+I). Переходим на вкладку «Network», жмем «Продолжить». Видим три скачанных документа:


3. Щелкаем правой кнопкой по последнему (адрес вида «http://www.livejournal.com/export_do.bml?authas=mudasobwa»), из меню выбираем «Copy ⇒ Copy as cURL» (это нужно для сохранения активных кук, дающих доступ к приватным записям):


4. Открываем консоль и объявляем shell-функцию копипастим туда буфер:

# ⇓⇓⇓⇓⇓ тут много всякого мусора
function curllj() { [...] \
--data "what=journal&year=20$1&month=$2&format=csv&encid=2&field_eventtime=on&field_subject=on&field_event=on" \
--compressed 2>&1 > 20$1-$2.csv
}

Хвост надо подправить: $1 и $2 в годе и месяце, и 2>&1 > 20$1-$2.csv в конце.

5. Создаем папку, переходим в нее, и запускаем:

mkdir /tmp/lj && cd /tmp/lj
for y in 08 09 10 11 12 13 14 15 16 17
do
for m in 01 02 03 04 05 06 07 08 09 10 11 12
do
curllj $y $m
done
done

Мне лень было смотреть, как накормить параметрами seq, чтобы получить нули перед цифрами.

6. Ждем-с. Все готово: папка наполнилась файлами, по одному на каждый месяц, с вашими записями.

7. Если у вас нет терминала, вы неудачник, и этот способ вам не подходит.

jobby, ljotd

Previous post Next post
Up