В свете недавних событий считаю нелишним рассказать о том, как быстро выпилить весь контент со своей страницы ВКонтакте. Под «контентом» я понимаю фотографии, записи на стене, видео- и аудиозаписи. Да, поздно пить боржоми, коли почки уже в опасности, но удаление контента со страницы слегка снизит вероятность того, что очередная барнаульская девочка стукнет на вашу страницу. От греха подальше.

Итак, для всех операций нам понадобится Консоль разработчика. Открыть её можно нажатем клавиши F12, работает в любом браузере кроме Opera, в жОпере следует нажать Ctrl+Shift+J. На всякий случай проверьте, что у вас открыта вкладка Console или Консоль по-русски, она выглядит примерно так:

Красной стрелочкой показано поле для ввода, в которое будем вставлять команды. При вставке браузер может предупредить о том, что вставка стороннего кода потенциально опасна. Не бойтесь, весь код на этом сайте безопасен. Накрайняк по его содержанию можно понять, что он делает.

Аудиозаписи

С аудиозаписями всё просто. Открываем свои аудиозаписи, обязательно листаем до самого низа, после чего вставляем в консоль код ниже. Важно: код выполняется в два этапа, смотри комментарии!

// Сначала выполняем эту часть:
var script = document.createElement("script");
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", script.type = "text/javascript", document.getElementsByTagName("head")[0].appendChild(script);

// Немного ждём (секунды две-три), потом выполняем это:
jQuery('.audio_row').each(function(i, el) {
    var audio = $(this).data('audio'),
        $hash = audio[13].split('/');
    $.ajax({
        url: "https://vk.com/al_audio.php",
        method: "POST",
        data: {
            act: 'delete_audio',
            aid: audio[0],
            al: 1,
            hash: $hash[3],
            oid: audio[1],
            restore: 1
        }
    });
})

Браузер начнёт удалять аудиозаписи. Если их много — он будет даже подвисать и оповещать о медленной работе страницы — нажимаем «Продолжить».

Видеозаписи

Для удаления видеозаписей операции аналогичны. Открываем свои видеозаписи, прокручиваем до упора вниз и выполняем в консоли разработчика этот код:

(function() {
    'use strict';
    if (!confirm('Удалить все Видео?')) return;
    var deletePostLink = document.body.querySelectorAll('div.video_thumb_action_delete');
    for (var i = 0; i < deletePostLink.length; i++) {
        deletePostLink[i].click();
    }
    alert(deletePostLink.length + ' posts deleted');
}());

После этого дожидаемся сообщения об успешном выполнении операции.

Документы

Документы, кстати, легко ищутся общим поиском. Так что их хорошо бы снести к писюнам. Что и сделаем, действия аналогичны: открываем консоль, листаем по самое джерело вниз, выполняем коротенький код:

document.querySelectorAll('.docs_delete_row').forEach(docDeleteButton => docDeleteButton.click());

Фотографии

Тут всё совсем просто, даже скриптов не надо. Просто удаляем все альбомы, которые можно. Если альбом не удаляется — наводим мышь на его предпросмотр, нажимаем на иконку карандаша, выделяем все фото и нажимаем «Удалить».

Ставь класс!

Лайки — потенциальная возможность привлечь тащмайора. Их мы тоже аккуратненько снимем. Тут всё немного сложнее и проще одновременно: код выглядит монструознее (спайсибо Тумбалику за него), но при этом он всё сделает сам. Просто открываем эту ссылочку, нажимаем F12, открываем консоль и туда вставляем вот это вот:

(async () => {
  loop();

  async function loop() {
    let likes = document.querySelectorAll('.like_btn.like.active');
    for (const like of likes) {
      await unlike(like);
    }
    let oldHeight = document.body.scrollHeight;
    scrollTo(0, oldHeight);
    setTimeout(() => {
      if (oldHeight < document.body.scrollHeight) { loop(); } else { let btn = document.querySelector('#show_more_likes_posts'); if (btn) { btn.click(); return loop(); } alert('Не могу найти лайков! Либо они закончились, либо проблемы с сетью. Если лайки остались, обновите страницу и запустите ещё раз. Если все записи пропадут, но Вы уверены, что они есть, лайкните что-нибудь и повторите попытку.') } }, 10000); } async function unlike(like) { return new Promise(resolve => {
      scrollBy(0, like.getBoundingClientRect().top - innerHeight/2);
      like.click();
      setTimeout(() => {
        resolve();
      }, 10000);
    });
  }
})();

И уходим пить чай. Этот скрипт работает очень медленно, но иначе никак: ВК крайне ревностно относится к расставленным тобой лойсам и показывает капчу, если ты начнёшь их снимать чаще, чем один лойс в 10 секунд.

Записи на стене

Их любят больше всего. Удалим и их. Работает, кстати, и на стене сообщества, в котором у вас есть права редактора. Для выполнения операции, как обычно, открываем стену, прокручиваем до самого низа, запускаем скрипт:

(function() {
    'use strict';
    if (!confirm('Удалить все записи со стены?')) return;
    var deletePostLink = document.body.querySelectorAll('a.ui_actions_menu_item[onclick^="wall.deletePost"]');
    for (var i = 0; i < deletePostLink.length; i++) {
        deletePostLink[i].click();
    }
    alert(deletePostLink.length + ' posts deleted');
}());

Заключение

Нельзя доверять Mail.Ru Group. От слова «совсем».
Код взят из разных источников, копирующих друг у друга. Отличие лишь в том, что те самые источники, в том числе и неуважаемый ТэЖурнал, у которого все и натырили, запостили код с синтаксическими ошибками. В этой статье все образцы кода протестированы лично автором и работают на момент написания. ВКонтакте может изменить разметку или начать препятствовать выполнению стороннего кода, но пока что этого не происходит.