Просмотрщик постов пикабушников (версия 1.0, MVP)

* - MVP - minimum viable product, минимальный работоспособный продукт


Привет, Пикабу!

Меня зовут Сергей, мне 25 и я программист (хлоп-хлоп).

Летом 2019 года решил побаловаться каким-нибудь полезным пет-проектом. Итак, представляю вам программку Pikabu Profile Posts Viewer!

С ее помощью можно одним махом просмотреть все посты пользователя.


А ТЕПЕРЬ ПО ПОРЯДКУ:

0) Обязательно устанавливаем .NET Framework 4.6.2 — без него программа не запустится.

По умолчанию уже установлен в Windows 10 (v1607 и далее).

Пользователям Windows 7, 8.1, 10 (v1507-v1511) надо скачать его с сайта Майкрософта — https://dotnet.microsoft.com/download/dotnet-framework/thank....

Windows 8 в пролете, простите :(.

1) Запускаем программу.

Сверху — поле для ввода имени интересующего юзера, кнопка поиска постов в профиле, галочка укорачивателя ссылок (см. далее), кнопка сохранения найденного в текстовый файл Блокнота.

Ниже — строка статуса, показывающая сейчас, что программа готова к работе.

В правом углу — кнопка «О программе».

Ну и остальное место — табличка, куда будут выводиться посты.

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

2) Вводим имя пользователя. Если ввести меньше 5 символов, выдаст ошибку, т.к. таких коротких ников на Пикабу нет.

3) Нажимаем кнопку Найти посты.

Программа отправится на поиски, визуально «зависнув» на некоторое время. Сколько — зависит от кол-ва постов в искомом профиле и скорости вашего интернета. У меня на ADSL 10Мб/с понадобилось 15-75 секунд. На монстрах вроде IProcione не проверял :).

Пока она «виснет», можете заняться чем-нибудь другим.

На галочку пока не обращаем внимания.

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

3) Программа загрузит посты и отобразит их списком.

Строка статуса показывает, сколько всего постов имеется и на скольких страницах, а также, сколько из них удалось загрузить (это не одно и то же — если вдруг пропадет свет и т.п., отобразится только то, что успели выхватить, да и то не всегда).

Если в поле рейтинга стоит «DELETED», значит, пост был мягко удален (в браузере отображается значок корзины).

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

4) Нажимаем кнопку сохранения.

Если удалось сохранить, строка статуса сообщит об этом.

В папке, куда вы положили файл программы, появится папка "Pikabu userprofiles", а в ней — текстовые файлы (имена которых соответствуют именам пользователей).

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

5) Программа сохранит данные в текстовые файлы.

Данные сохраняются таким же списком, только вместо колонок — табуляция. Кроме того, в начале файла еще раз указывается имя пользователя, а в конце — дата последней «выхватки» данных (понятно, что легко правится вручную, но сейчас не об этом).

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

6) Можете делать теперь с ними что угодно — например, быстро перейти к посту годичной давности, просто скопировав ссылку и вставив в браузер, а не мотая профиль пользователя до Х-й страницы.


НЮАНСЫ:

1) Колонки в таблице можно менять местами, но ТОЛЬКО после закачки данных (иначе — некорректно отобразятся).

При следующей скачке (не закрывая программу) порядок столбцов сохранится.

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

2) При нажатии на заголовок колонки списка данные отсортируются по возрастанию/убыванию.

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

При следующей скачке (не закрывая программу) указание на сортировку по ... сохранится.

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

Недочет: поскольку все данные в списке компьютер видит как текст, то все колонки сортируются как текст — посимвольно, в т.ч. и № п/п и рейтинг (числа по сути) (см. рис.). Подобное встречается и у других программ, вроде Total Commander, но все же бывает неудобно. Надеюсь поправить со временем.

Частичный обход недочета: поскольку дата у всех постов разная, то сортировка по дате автоматически = сортировке по порядку (№ п/п).

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

3) Галочка укорачивания ссылок убирает текст — ведь он может быть любым — из ссылок на посты, оставляя только номер истории (см. рис.).

Нажимать ее следует ПЕРЕД скачкой постов.

Просмотрщик постов пикабушников (версия 1.0, MVP) Программа, Программирование, Пикабу, Пикабушники, Профиль, Помощь, Длиннопост

4) Добавлена простенькая поддержка исключений, например, если отвалился инет, или страница не найдена.


СКАЧАТЬ: http://www.mediafire.com/file/oii09nxdecfkldk (zip-архив, 161 Кб, в распакованном виде — 628 Кб)


ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ ДЛЯ ПРОГРАММИСТОВ:

1) Написано на языке программирования С# с использованием библиотеки HtmlAgilityPack в среде разработки Microsoft Visual Studio Professional 2017.

2) Версия .NET framework – 4.6.2.

3) Исходный код на Github (без папки packages): https://github.com/serhiy1994/PikabuProfilePostsViewer . Можете форкнуть, тем более, что в коде остались некоторые логические дыры в закомменченных строках. Потом смерджу, если хотите.

4) Программа работает медленновато еще и потому, что я не умею в асинхронное программирование :(.


БАГ-РЕПОРТЫ И ЗАМЕЧАНИЯ: оставляйте под соответствующим комментом. Постараюсь пофиксить и обновить релиз.


БЛАГОДАРНОСТИ:

1) Двум десяткам пикабушников, чьи интересные посты заставили меня что-то придумать, чтоб их оперативно посмотреть (полный список выложу позже);

2) персонально @iranaut и @Malica за их существование в качестве пикабушников(-иц);

3) прочий народ — коллеги-программисты, чьи советы мне помогли (указаны в окне About).


Приятного пользования!

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий
Развивайся, молодец, но зачем это надо не особо понятно, если можно зайти в профиль, а там уже по любым фильтрам поискать что надо.
раскрыть ветку (1)
Автор поста оценил этот комментарий

лично для меня - скорость работы)

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