worldenddominator (juan) wrote,
worldenddominator
juan

Category:

Flames of purgatory

Я очистил журнал от старых записей, все они отправились в архив и видны только мне. Мой недотвиттер по-прежнему находится здесь, а тут время от времени будут появляться упражнения в красноречии и всякие разные фотографии.

Оказалось, что массово редактировать посты в новом интерфейсе ЖЖ теперь можно, но только на платном аккаунте. С ходу я не нашел готового решения, поэтому сам написал простенькую программу, которая применяет ко всем постам в ЖЖ одни и те же настройки видимости. Может быть, кому-нибудь когда-нибудь пригодится.







#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






Оглавление | Телеграм | Instagram
Tags: programming
Subscribe

  • Санкт-Петербург. Кронштадт зимой

    В Кронштадте зимой я еще не бывал. Вода в каналах подмерзает, но лед почему-то желтоватый. Петровский док. Снова…

  • Санкт-Петербург (февраль 2021). Острова

    Как-то за столько времени в Петербурге я ни разу не забредал на острова в северной части Петроградского района. Пришло время исправить это…

  • Санкт-Петербург. Февраль 2021

    Я пять раз был в аэропорту Пулково на прилете, и наконец в первый раз посмотрел на него со стороны вылета (до этого всегда в Москву ездил на…

Buy for 20 tokens
Удивительно тонкий киношный троллинг, в определенный момент фильма у людей появляется стойкое отвращение к нетрадиционным связям, однако возникает оно именно в самом конце, когда ваш мозг буквально вывернут наизнанку. История про нарушение не только личного пространства, но и... (фото: Яндекс…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments