5

Парсер для Лиги Дня Рождения

Недавно @Midzukawa опубликовал этот пост, а под ним этот комментарий:

!!! ATTENTION !!!
В связи с огромным количеством людей, ищем модераторов для сортировки пользователей по датам и вообще помощи, боюсь, вдвоем нам будет тяжко.
Поднимите повыше, чтобы все видели, пожалуйста!
!!! ATTENTION !!!

Итак, уважаемый @Midzukawa, готов представить тебе мой парсер, написанный на коленке за 5 минут. Что он делает:

1. Имитирует нажатие "показать все комментарии" до тех пор, пока все из них не будет показаны

2. Распознаёт даты, в том числе названия месяцев

3. Выводит всё в файл

4. В случае ошибки выделяет этот коммент среди остальных в файле. Вот так:

Парсер для Лиги Дня Рождения

Итак, как его использовать:

1. Открыть, внимание, пост с новой версии Пикабу!

2. Открыть консоль (если у Вас Google Chrome, то нажать F12)

3. В консоли открыть вкладку "Console"

4. Вставить такой код:

var comments = document.getElementsByClassName("comment__content");
var more = document.getElementsByClassName("comments__more-button");
while(more[0].style.display != "none"){
more[0].click();
await new Promise(resolve => setTimeout(resolve, 2000));
}
var textToSave = "---PIKALOGGER[1]---\r\n";
for(var i = 0; i < comments.length - 1; i++){
var comm = comments[i].innerText.replace(/[^a-zA-Zа-яА-Я0-9 .:!?]/g, "");
textToSave = textToSave.concat(comm);
var numon = comments[i].innerText.replace(/[^0-9.]/g, "");
var dates = numon.split(".", 2);
var month = dates[1];
if(comm.toLowerCase().includes("январ") && (month == "" || month == undefined)){
month = "01";
} else if(comm.toLowerCase().includes("феврал") && (month == "" || month == undefined)){
month = "02";
} else if(comm.toLowerCase().includes("март") && (month == "" || month == undefined)){
month = "03";
} else if(comm.toLowerCase().includes("апрел") && (month == "" || month == undefined)){
month = "04";
} else if(comm.toLowerCase().includes("ма") && (month == "" || month == undefined)){
month = "05";
} else if(comm.toLowerCase().includes("июн") && (month == "" || month == undefined)){
month = "06";
} else if(comm.toLowerCase().includes("июл") && (month == "" || month == undefined)){
month = "07";
} else if(comm.toLowerCase().includes("август") && (month == "" || month == undefined)){
month = "08";
} else if(comm.toLowerCase().includes("сентябр") && (month == "" || month == undefined)){
month = "09";
} else if(comm.toLowerCase().includes("октябр") && (month == "" || month == undefined)){
month = "10";
} else if(comm.toLowerCase().includes("ноябр") && (month == "" || month == undefined)){
month = "11";
} else if(comm.toLowerCase().includes("декабр") && (month == "" || month == undefined)){
month = "12";
}
var possibleDate = "=========================================================================================================================Возможная дата: ???";
if(dates[0] != undefined && dates[0] != "" && month != undefined && month != ""){
var possibleDate = "====================================================================================Возможная дата: ".concat(dates[0]).concat(".").concat(month);
}
textToSave = textToSave.concat("\r\n").concat(possibleDate).concat("\r\n---NEWCOMMENT---\r\n");
}
var textToSaveblob = new Blob([textToSave], {type:"text/plain"});
var textToSaveurl = window.URL.createObjectURL(textToSaveblob);
var downlink = document.createElement("a");
downlink.download = "Pikabu-comments-parsed.txt";
downlink.href = textToSaveurl;
document.body.appendChild(downlink);
downlink.click();

5. Нажать Enter

6. Чуть подождать

7. К вам скачался файл с результатами

8. ???

9. PROFIT

Ну и да, я родился девятого августа)

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

ошибку выдает

Uncaught SyntaxError: Unexpected token new

раскрыть ветку (9)
0
Автор поста оценил этот комментарий

Весело. Попробуйте взять код отсюда:

https://gist.github.com/gsfci/72bfc2a993e124f0df9e87ba8827a0...

раскрыть ветку (8)
0
Автор поста оценил этот комментарий

рандомная страница https://new.pikabu.ru/story/zimniy_grach_5613082


текст с гита

раскрыть ветку (7)
0
Автор поста оценил этот комментарий

У меня всё нормально (Google Chrome). Вы точно всё сделали по инструкции?

раскрыть ветку (6)
0
Автор поста оценил этот комментарий

1. Открыть, внимание, пост с новой версии Пикабу!

2. Открыть консоль (если у Вас Google Chrome, то нажать F12)

3. В консоли открыть вкладку "Console"

4. Вставить такой код:

попробовал из поста и из гита

5. Нажать Enter

6. Чуть подождать

7. К вам скачался файл с результатами - .i.

Не могу вставить картинку со скрином, похоже хром с ума сходит...

http://images.vfl.ru/ii/1515268540/0a44ccbe/20044247.jpg

раскрыть ветку (5)
0
Автор поста оценил этот комментарий
Можно код чуть вверх поскроллить?
раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Какая у Вас версия Chrome?

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

61.0

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Уууу..... Скачайте последнюю версию (у меня 63.0.3239.84)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества