Я написал специальный JavaScript код для определения собачек и их автоматического удаления. Код можно выполнить в консоли Chrome Developer, консоли Firebug или - что проще для большинства - просто скопировав его в адресную строку на открытой странице редактирования участников паблика.
Выполняется код некоторое время - его можно запустить и заняться своими делами, после окончания работы нам покажут сообщение со статистикой о количестве собачек в паблике и вопросом, хотим ли мы их автоматически удалить или хотим оставить.
Простейший способ запустить скрипт - открыть страницу редактирования подписчиков паблика и скопировать код в адресную строку, дополнив его в начале текстом
javascript:
. Таким образом, текст в адресной строке будет выглядеть как-то так: javascript:var timeout = 20; var head = ...
. Можно создать закладку с этим кодом и впоследствии вызывать ее быстро со страницы одним кликом.var timeout = 20;
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type= 'text/javascript';
script.src= 'https://code.jquery.com/jquery-2.1.0.min.js';
head.appendChild(script);
function checkJQLoaded(){return typeof $ != 'undefined' && $.fn != 'undefined';}
var loadJQ = setInterval(function () {
timeout--;
if (checkJQLoaded()) {
loadAllAccounts();
clearInterval(loadJQ);
return;
}
else if (timeout > 0) {
return;
}
else {
alert('Что-то я не могу загрузить JQuery. '
+ 'Попробуйте обновить страницу и сделать всё заново!');
clearInterval(loadJQ);
}
}, 100);
var allCnt = 0;
var dogsCnt = 0;
var accountsCnt;
function loadAllAccounts(){
var initialHeight = 0; var stops = 0;
accountsCnt = $('div#gedit_users_summary_members').text()
.replace(/\D/g, '');
var sInterval = setInterval(function(){
if (initialHeight == document.body.clientHeight
&& $('img.gedit_user_img').length+15 > accountsCnt){
stops++;
if (stops > 30
&& $('img.gedit_user_img').length+15 > accountsCnt) {
clearInterval(sInterval); go(); return;
}
} else {
stops = 0;
}
initialHeight = document.body.clientHeight;
$('a#gedit_users_more_members').click();
scrollTo(0, 9999999999);
}, 100);
}
function go(){
$('img.gedit_user_img').each(function(){
var src = $(this).attr('src');
allCnt++;
if (src != '/images/deactivated_200.png' && src != '/images/deactivated_100.png')
$(this).parent().parent().parent().hide();
else
dogsCnt++;
});
if (confirm('Всего обработано подписчиков: ' + allCnt
+ '; собачек: '
+ dogsCnt + ' (' + (100*dogsCnt/allCnt).toFixed(2) + '%)\n'
+ 'Удаляем собачек?')){
var dogsArray = $('img[src="/images/deactivated_200.png"],img[src="/images/deactivated_100.png"]');
var currentDogIndex = 0;
var dogsInterval = setInterval(
function(){
if (!dogsArray[currentDogIndex]){
clearInterval(dogsInterval);
return;
}
$(dogsArray[currentDogIndex]).parent().parent().parent()
.find("a.gedit_user_action").last().click();
currentDogIndex++;
},
1000
);
}
}