BlogDumper: библиотека для простого экспорта блога из Tumblr
2017/02/21Первый пост о том, как я съезжал с Tumblr: речь пойдет об экспорте данных из блога.
Ближе к Новому году меня посетила мысль, что пора бы заняться блогом, начать в него писать про всякие антинаучные штуки, которые я пилю, про игрульки и разные пепяки, а то место простаивает.
Решил поступить радикально, отказаться от зависимостей, сосредоточиться на контенте — и в связи с этим съехать с Tumblr.
На новую платформу предстояло перенести посты за пять лет, в связи с чем встал вопрос о том, как все слить по-быстрому и привести в формат, пригодный для использования в блоге.
Для решения этой задачи я сел писать тулзу на PHP. В сети есть немало библиотек для работы с API Tumblr, в том числе, от самих Tumblr — именно на базе нее я и запилил свое решение.
Работа была проделана за неделю–две, в результате на свет родилась библиотека BlogDumper и одноименная утилита.
Возможности:
- Сохранение текста постов (Posts), диалогов (Chats) и цитат (Quotes).
- Сохранение изображений из галерей (Photos).
Посты обрабатываются в рамках очереди, загрузка изображений ведется параллельно.
Т.к. либу я писал по большей части на коленке для внутренних нужд, то не стал заморачиваться на научно-магические библиотеки для распараллеливания задач и обошелся использованием curl_multi_exec
.
Т.к. я планировал вести блог с использованием Markdown, то после реализации основной функциональности я сделал класс, реализующий альтернативную обработку текстовых постов. Для работы он использует HTML To Markdown for PHP — в целом результат преобразования у меня не вызвал нареканий.
В следующем посте я расскажу, как из сохраненных постов в Markdown я формировал блог. Будет много дичи.