Оказалось, что массово редактировать посты в новом интерфейсе ЖЖ теперь можно, но только на платном аккаунте. С ходу я не нашел готового решения, поэтому сам написал простенькую программу, которая применяет ко всем постам в ЖЖ одни и те же настройки видимости. Может быть, кому-нибудь когда-нибудь пригодится.
#coding=utf-8 from mechanize import Browser firefox = Browser() firefox.set_handle_robots(False) # Старый добрый набор хедеров, которые я использовал еще в далеком 2008 году когда впервые научился пользоваться mechanize # Имя переменной firefox тоже осталось с тех времен, сейчас я пользуюсь Chrome firefox.addheaders[:0] = [["User-agent", "Mozilla/5.0(X11; U; Linux i686; en-US; rv:1.9) Gecko/2008062113 Iceweasel/3.0 (Debian-3.0~rc2-1) "]] firefox.open("http://livejournal.com/") firefox.select_form(nr=0) # Имя пользователя username = "juan_sin_tierra" firefox["user"] = username # Сюда вписать пароль firefox["password"] = "" resp = firefox.submit() i = 0 while True: print i resp = firefox.open("http://www.livejournal.com/editjournal.bml?skip=" + str(i)) txt = resp.read() found = False while True: # Тут я хотел сделать поиск по регулярному выражению, но меня заломало проставлять обратные слэши перед всеми спецсимволами в URL, поэтому тут просто поиск подстроки. # Забота о производительности в скрипте из 50 строк - не наш метод index = txt.find("http://www.livejournal.com/editjournal.bml?usejournal=" + username + "&itemid=") if index == -1: break found = True index2 = txt[index:].find("'") link = txt[index:index + index2] firefox.open(link) firefox.select_form(nr=0) # Сюда вписать нужную настройку видимости, названия см. в исходном коде страницы редактирования firefox["security"] = ["private"] # Да-да, это быдлокод и он не будет работать, если в настройках сайта стоит не русский язык firefox.submit(name="action:save", label="Сохранить запись") print link txt = txt[index + index2:] if not found: break i += 20



Journal information