Tolstoknijnik

Tolstoknijnik

Пикабушник
поставил 1172 плюса и 1058 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу лучший пост недели лучший авторский пост недели лучший авторский текстовый пост недели самый комментируемый пост недели лучший длиннопост недели самый комментируемый пост недели
86К рейтинг 72 подписчика 58 подписок 302 поста 23 в горячем

Получаем данные из Пикабу для сбора статистики

В процессе обучения решил написать что-то полезное, дабы проверить, что я вообще могу. Почему бы не попарсить Пикабу? Поехали!



Само содержимое постов обрабатывать не будем по двум причинам:

1. Не нужно.

2. Слишком долго.

Даже обработка минимального количества данных за сутки занимает до 2х часов.


Список необходимых мне полей:

1. Статус поста

- может быть удален (в корзине)

- обычный пост


2. ID поста

У каждого поста на Пикабу есть свой уникальный ID (номер)


3. Дата публикации, день недели, время.


4. Принадлежность к сообществу

Название сообщества , если пост в сообществе


5. Заголовок


6. Автор


7. Рейтинг


8. Спец. теги

"Моё" или "Клубника" если имеются.


9. Обычные теги

У меня теги идут одной строкой, если есть необходимость можно сохранять их отдельными элементами.



ATTENTION! ЕСЛИ ТЫ ОПЫТНЫЙ И ХОРОШИЙ ПРОГРАММИСТ, ТО У ТЕБЯ МОЖЕТ ПОЙТИ КРОВЬ ИЗ ГЛАЗ, Т.К. ТС ПОКА УЧИТСЯ И ГОВНОКОДИТ.


Для начала нам нужно задать интервал обработки.

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


Тут появляется две проблемы:


1. В общей ленте не отображаются

- посты со слишком низким рейтингом

- посты в корзине

- посты из закрытых сообществ


2. Рекламные посты. Их структура отличается от обычных  публикаций. Если мы попробуем обработать их по схеме пользовательских постов, это вызовет ошибки.


Значит применим другой подход: будем "прыгать" по постам используя уникальный ID.

На картинке ниже приведена схема определения интервала обработки.


Логика простая. Например: нам нужно получить информацию за 15 ноября.


Если вы откроете ленту за любую дату, то обратите внимание, что в самом верху будет самый последний пост за эту дату. Эту особенность мы и используем.


Программа заходит в ленту за дату предыдущую 15 ноября (14 ноября) , считывает ID самого последнего поста в ленте, передает ее в метод, который  начинает последовательно заходить в посты, увеличивая полученный ID на единицу и сверять дату. В качестве маркера выступает дата 15.ноября. Как только программа натыкается на пост с датой 15 ноября, она записывает его ID. Это наша точка начала.


Аналогично происходит и с конечной точкой, только мы берем ID последнего поста в ленте за 15 ноября, последовательно переходим по постам пока не изменится дата, и сохраняем ID последнего поста перед тем, как дата изменилась.


В итоге мы получили интервал ID, с которым можно работать.

Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост

Код поиска первого и последнего ID для интересующихся. Посты с рекламой 404 игнорируются

Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост
Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост

Сам код парсера. Инфу засовываю все MySQL.

Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост
Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост

GatewaySQL

Получаем данные из Пикабу для сбора статистики Java7, Программирование, Быдлокодинг, Длиннопост

Надеюсь кому-то было полезно. На вопросы отвечу в комментах

Показать полностью 6

Статистика популярных сообществ на Пикабу

Данные с 14.11 по 24.11

Диаграмма отображает количество постов добавленных в сообщества за неделю. Сообщества с количеством добавленных постов за неделю менее 10, учтены в графе "Другие сообщества".

Статистика популярных сообществ на Пикабу Статистика, Сообщества Пикабу, Внимание на топ 5
Показать полностью 1

В Петербурге врачи спасли мужчину с двумя стрелами в сердце

В данный момент мужчина находится в реанимации центра им. Алмазова. Его состояние стабильно.


Петербургские врачи извлекли две стрелы из сердца мужчины и спасли ему жизнь. Сейчас 53-летний петербуржец находится в реанимации Северо-Западного федерального медицинского исследовательского центра им. Алмазова. Его состояние оценивается как стабильно тяжёлое.

В Петербурге врачи спасли мужчину с двумя стрелами в сердце Санкт-Петербург, Везение

Петербургские врачи извлекли две стрелы из сердца мужчины и спасли ему жизнь. Сейчас 53-летний петербуржец находится в реанимации Северо-Западного федерального медицинского исследовательского центра им. Алмазова. Его состояние оценивается как стабильно тяжёлое.

Фото: © L!FEКак стало известно Лайфу, бригада скорой помощи забрала раненого из квартиры одного из домов Приморского района с двумя проникающими ранениями — из груди мужчины торчали два арбалетных болта.


Карета доставила мужчину в приёмный покой Елизаветинской больницы, где ему сделали компьютерную томограмму: один арбалетный болт прошёл через левый желудочек и митральный клапан в левое предсердие, второй — через брюшную аорту.


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

В Петербурге врачи спасли мужчину с двумя стрелами в сердце Санкт-Петербург, Везение

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

Фото: © L!FEКак рассказали Лайфу специалисты, оперативные вмешательства при таких травмах проводятся после перевода пациента на искусственное кровообращение. Далее были извлечены стрелы и проведена аутотрансплантация — процедура, при которой мужчина стал донором сердечной ткани для самого себя.


В данный момент петербургские следователи Следственного комитета проводят доследственную проверку по факту получения травм мужчиной.


https://life.ru/t/life78/936950/v_pietierburghie_vrachi_spas...

Показать полностью 2

Помогите выбрать книгу

Стою на распутье. Нужно авторитетное мнение. Какую из них выбрать?

Помогите выбрать книгу Java, Паттерны, Head firts, Банда четверых, Программирование
Помогите выбрать книгу Java, Паттерны, Head firts, Банда четверых, Программирование
Показать полностью 2

Помогите найти книгу "Practical Database Programming with Java" на русском.

Помогите найти книгу "Practical Database Programming with Java" на русском.

Немного статистики

В обучающих целях пишу одну программу по сбору статистики. Какие статистические выкладки о пикабу вы бы хотели увидеть?

Немного статистики Анализ, Статистика
Немного статистики Анализ, Статистика
Показать полностью 1

Подостки

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


Ремня на вас нет! (с). Мой покойный отец.

Пртив хабаровских живодёрок возбудили ещё 3 уголовных дела

Хабаровские следователи возбудили еще три уголовных дела против двух 17-летних девушек, обвиняемых в жестоком обращении с животными, говорится в сообщении СК РФ.


Две 17-летние девушки из Хабаровска опубликовали на своих страничках в интернете фотографии издевательств над животными, которых они брали в "добрые руки". Возбуждено дело по статье "жестокое обращение с животными". Одна из них помещена под домашний арест. По предварительным данным, жертвами издевательств стали не менее 15 животных и птиц.


Как отмечают в СК, 11 ноября 2016 года следователи обратились в суд с ходатайством об избрании в отношении двух 17-летних девушек меры пресечения в виде заключения под стражу. Их соучастник – 18-летний подросток задержан.


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


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


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


"Возбужден ряд уголовных дел по признакам преступлений, предусмотренных частью 2 статьи 162 УК РФ (разбой), частью 1 статьи 148 УК РФ (публичные действия, выражающие явное неуважение к обществу и совершенные в целях оскорбления религиозных чувств верующих), частью 1 статьи 282 УК РФ (возбуждение ненависти либо вражды). На основании собранных следствием материалов обеим фигуранткам предъявлено обвинение в совершении разбойного нападения", — говорится в сообщении.


Следствие установило, что девушки умышленно портили и повреждали автомобили, снимая все на камеру сотового телефона. Отмечается, что также были установлены владельцы авто, которые не обращались с заявлением в правоохранительные органы. Собранные материалы отправлены в УМВД России по Хабаровскому краю для решения вопроса о привлечении девушек к уголовной или административной ответственности.


https://ria.ru/incidents/20161111/1481140031.html

Показать полностью
Отличная работа, все прочитано!