17:59
Три скрипта для удаления всех постов из группы Вконтакте

Иногда возникает необходимость очистить стену группы или паблика от всех или большинства постов. Такая потребность может возникнуть, например, если владелец принял решение круто изменить тематику группы. Сервис Вконтакте позволяет удалять посты только по одному. Даже если в группе имеется сто постов, это неудобно. А как удалить все посты, если их пять тысяч? Для этого существуют скрипты на JavaScript, позволяющие автоматизировать сей нудный процесс.

Три скрипта для удаления всех постов из группы Вконтакте

Оглавление

1. Скрипт для удаления всех постов группы.

Первый скрипт позволяет полностью удалить все посты группы. Для того, чтобы это выполнить, зайдите в свою группу и прокрутите стену как можно ниже. Затем зайдите в консоль, нажав клавишу [F12] (либо правая кнопка мыши и пункт меню «Посмотреть код», либо «Исследовать элемент», в зависимости от браузера). В Хроме она выглядит так.

Три скрипта для удаления всех постов из группы Вконтакте

После этого скопируйте скрипт, приведенный ниже, и вставьте его в консоль:

 

(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'); }());

 

Три скрипта для удаления всех постов из группы Вконтакте

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

2. Скрипт для удаления всех постов, кроме нескольких верхних.

Предположим, вы изменили тематику группы и уже создали несколько постов, и только потом надумали удалить свои старые записи. Второй скрипт позволяет оставить новые посты в целости и сохранности, вам остается только сосчитать их количество.

Зайдите в группу (прокручивать стену вниз не нужно), затем в консоль браузера и скопируйте туда следующий код:

 

var test = false, offset = 50, pause = 1, count = 0;function itit() {offset = prompt('Кол-во первых записей которые нужно оставить.nУбедитесь что на странице есть больше больше чем указанное кол-во', 50);pause = prompt('Пауза в секундах перед запросами (рекомендуем 1-10)', 1);test = confirm("Вы подтверждаете что хотите удалить все записей в группе/странице?nКроме первых "+offset+"nnНаблюдать за процессом можно в консоли (F12 > console).nЧтобы остановить удаление, просто закройте страницу.");document.querySelectorAll('#wall_more_link')[0].click();scrollingTest()}function scrollingTest() {document.querySelectorAll('#wall_more_link')[0].click();var posts = document.querySelectorAll('div._post');console.log('Предварительная загрузка записей', posts.length, 'из', offset*2);if(posts.length < offset*2) {setTimeout(function(){scrollingTest() }, 1500);} else {setTimeout(function(){removePost();}, 1500);}}function removePost(){document.body.scrollTop = 9999999;if(test == true) {count++;var post = document.querySelectorAll('div._post')[offset];if(post) {console.log('удаление поста с id '+post.id);post.scrollIntoView();post.querySelector('[onclick*="deletePost"]').click();if(count > 10) {console.log('Нажатие на кнопку "показать ещё"');count = 0;document.querySelectorAll('#wall_more_link')[0].click();}setTimeout(function(){post.remove();removePost();}, pause * 1000);} else {alert('Похоже что посты закончились или требуется перезапустить скрипт');}}}itit();

 

После появления диалогового окна введите в строку число, сколько верхних сообщений нужно оставить, и нажмите OK.

Три скрипта для удаления всех постов из группы Вконтакте

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

3. Скрипт для удаления всех постов по заданному критерию.

Если первые два скрипта работали только на главной странице группы или паблика, третий скрипт работает с выборкой записей. Вот он:

 

(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'); }());

 

Чтобы его применить, осуществим поиск по группе. Для этого вам нужно пройти по ссылке «Записи сообщества».

Три скрипта для удаления всех постов из группы Вконтакте

A. Удаление постов по ключевому слову.

Предположим, группа Вконтакте ранее была посвящена котикам, а теперь — автомобилям. В этом случае сначала осуществляем поиск по слову «котики» или «кошки», а затем прокручиваем страницу с результатами поиска как можно ниже, заходим в консоль и вводим скрипт в командную строку.

Три скрипта для удаления всех постов из группы Вконтакте

Готово! Все записи с котиками удалены.

B. Удаление постов старше определенной даты.

Этот вариант будет полезен, если вы помните хотя бы приблизительно день, когда вы, например, сменили тематику группы, либо приняли решение удалить все те записи, которые сделали, когда были слишком юны. Предположим, нужно удалить все записи, которые старше 31 августа 2016 года. Проходим по ссылке «Записи сообщества» и переходим к поиску по записям — ссылка в меню справа.

Три скрипта для удаления всех постов из группы Вконтакте

Теперь в поисковой строке мы видим иконку календаря. Она нам и нужна.

Три скрипта для удаления всех постов из группы Вконтакте

Задаем нужную дату.

Три скрипта для удаления всех постов из группы Вконтакте

Теперь нужно прокрутить результаты поиска как можно ниже, открыть консоль, ввести в нее третий скрипт и подтвердить действие.

Категория: Полезное | Просмотров: 290 | Добавил: Окора | Теги: ВКонтакте
Возможно, вам понравится

 

Поделиться в соцсетях

 

Всего комментариев: 2
avatar
0
1 Котофей • 10:40, 22 Мар 2024
Спасибо! На личной странице тоже работает. Удалил все посты, кроме трех последних. Но картинки остались. Их как-то можно оптом убрать?
avatar
0
2 Окора • 11:50, 22 Мар 2024
Картинки тоже можно удалить. Скоро напишу инструкцию.
avatar