Download a LiveJournal blog
Latest commit 7da441f Nov 8, 2013 @mpenkov updated
Failed to load latest commit information.
.gitignore Updated .gitignore Nov 3, 2013 updated Nov 8, 2013 handling tags Nov 8, 2013


This script downloads LiveJournal articles and saves them as HTML-formatted Jekyll posts. Given the URL of the most recent entry in a journal, the script iteratively fetches entries until it gets to the oldest entry. For each entry, it extracts the entry title, update time, tags and actual entry content by using Xpath queries. If LJ changes the page layout significantly in the future, then these queries may no longer work.


  • requests - for downloading the HTML
  • lxml - for parsing the HTML
  • beautifulsoup4 - for pretty-printing the HTML (I couldn't get lxml to do this for me)
  • unidecode - for transliteration of the title (you don't need this if your blog is in English)

You can download all of the above packages from



This will download my Russian-language blog into the html subdirectory.