169

Одержимость парсингом + ChatGPT = Бот с аудикнигами

Расскажу как я решил спарсить кучу сайтов и торентов с аудиокнигами, и сделать наконец удобный телеграм бот с аудиокнигами t.me/knigarnya_bot

Что я имел на старте:

  • 1 год самообучения Python

  • 1 год опыта разработки простых телеграм ботов

  • Много экспериментов с ChatGPT

  • Эксперименты с MongoDB для удобного хранения сложных структур данных

  • Сильное желание что-то запилить

Я фанат аудиокниг и давно ищу идеальный плеер с книгами

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

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

Пришла следующая идея - поискать боты/каналы в телеграме. Хороших нет

Я изучил десятки ботов. Почти все что я нашел имело ряд существенных недостатков: или неудобно слушать, или нельзя самому искать книги, или мало книг.

В каналах слушать тоже неудобно - ты не можешь сам выбирать, что послушать. Также бесит, что нужно подписываться на спамерские каналы.

А что если самому попробовать парсинг книг?

Я подумал, может просто сделать простой скрипт, который парсит один известный сайт и скачивает мне аудиофайлы. А я их слушаю с телефона.

У меня есть доступ к ChatGPT. Я подумал, что если он за полчаса сможет объяснить мне как парсить сайты и сделает простой парсер, то можно работать.

Приступил к диалогу с нейросеткой.

ЧатЖПТ попросил у меня html-текст странички сайта. Я ему дал текст на вход, и через минуту у меня был готовый парсер, который мог скачивать кучу интересных данных про книги. Еще через полчаса я умел получать ссылки на аудиофайлы и скачивать их.

Ну и в общем парсинг работал, он качал книги! Я был очень доволен!

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

Python скрипт это хорошо, но Телеграм Бот лучше

Я решил, попробовать использовать внутренний плеер телеграма, чтобы слушать было еще удобнее.

  • У меня уже есть опыт разработки ботов

  • Есть доступ к ChatGPT

  • Телеграм-бот умеет посылать файлы до 50МБ, что вообще для 95% глав достаточно

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

Нейросетка со всем справлялась на ура! Бот заработал и присылал мне нужные главы в том порядке, в каком я хотел.

Чтобы было доступно реально много книг, я решил парсить несколько сайтов - уже пригодился Selenium и Pyppeteer для асинхронного парсинга

Некоторые сайты сложно парсить - там нужно имитировать человека.

Для этого подошел селениум. ЧатЖПТ снова рассказал подробно как это делается - и это был отдельный кайф видеть, что программа ведет себя как человек на сайте.

Pyppeteer же это еще более крутая библиотека, она может делать много разных действий асинхронно (=почти параллельно)

Если сначала в боте было доступно около 40000 книг, то сейчас уже более 120 тыс.

Кстати, для интерсующихся волшебная штука: https://github.com/ultrafunkamsterdam/undetected-chromedriver

В общем так я сделал бота и открыл его в паблик

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

Буду рад отзывам на бота t.me/knigarnya_bot

5
Автор поста оценил этот комментарий

Сколько ушло места на хранение файлов ?

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

Привет! Вся прелесть в том, что я их скачиваю один раз, загружаю в телеграм, получаю file_id от Телеграма, и удаляю у себя файл. И теперь можно по file_id от Телеграма иметь доступ к этому же файлу - он хранится на серверах телеграма.

показать ответы
2
Автор поста оценил этот комментарий
Используйте кэш, у меня боты по 50тыщ юзеров в день держат
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ага, храню file_id после первой загрузки в телеграм. Просто много качают в первый раз и одновременно. Ладно, это временно в любом случае)

1
Автор поста оценил этот комментарий
Вау, даже по Вархаммеру нашел

Я так понял слушать можно только с интернетом?
Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Круто! Скачать с интернетом, а слушать просто с устройства. Без инета можно.

0
Автор поста оценил этот комментарий

Ну вот например. Дмитрий Нелин, результат 4 из 8 книг про Читера. + 1 из другой серии
Никакой инфы нету по тому какая книга в серии и т.п.
При этом 7 книг доступны в Букмейте по подписке.

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

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

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

Пожалуйста)

1
Автор поста оценил этот комментарий
Дайте пожалуйста ссылку на бота
раскрыть ветку (1)
3
Автор поста оценил этот комментарий
У меня одного ссылка на бота не робит?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

О, спасибо, была очепятка. Пофиксил

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

У флибутсы бот есть, он файлами присылает, которые скачиваешь и открываешь, где угодно. Но он файлы с их сайта берет, а не ищет повсюду.

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

Я исследую вопрос, но вот не знаю большой ли спрос на такого бота. В целом, его даже проще сделать. Аудиофайлы эта та еще запара

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

Что-то похожее, но для текстовых файлов кто-нибудь видел?

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

Текстовые как-будто на сайте флибусты легко найти и скачать. В телеграме же не оч удобно читать книги. Слушать норм

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

Там  месаги на удаленном чате приходят. Ой теперь 10 минут бесплатно или как-то так. Исправляй

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

Приходят только важные апдейты функционала.

0
Автор поста оценил этот комментарий

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

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

Там 0 рекламы.

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

asyncio - все уже продуманно, тут и думать нечего

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

Ну это и так асинхронно )) на вычислительные мощности это не влияет)

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

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

0
Автор поста оценил этот комментарий
Добавь возможность скачать всю книгу целиком, не всегда есть постоянный доступ к интернету (в дороге или на работе)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Сделаем

0
Автор поста оценил этот комментарий

Как ты реализовал эту кнопку Начать? И подсказку для нее если не секрет

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

Можете прикрепить скрин? Я кажется ничего просто не делал с кнопкой

показать ответы
3
DELETED
Автор поста оценил этот комментарий

Но нихрена не ищет толком. Я попробовал несколько книг которые сегодня скачал с рутрекера и ничего из этого не нашлось

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

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

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

Блин, пришло много одновременно юзеров и боту плоховато. Буду думать как ускорять

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

Работает и  очень хорошо.


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


Чисто на случай если прямо вот сейчас надо, до компа далеко, а с впн и торрнетом на телефон не хочется заморачиваться.


Автор красавчик.


НО есть один нюанс эти самые 3 бесплатные  книги.

Я вроде и согласен с автором что 3 книги в месяц для среднестатистического пользователя это нормально, но сам факт месячного ограничения прям отталкивает такого старого пирата как я.


Предложение сделать ограничение книг  в год 20-50 / пол года 15-25 с большим количеством книг, так и привыкнешь и полюбишь и пользоваться может будешь, а с этими 3 книгами только понюхать и забыть.

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

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

3
Автор поста оценил этот комментарий
Это очень херово, что поиск такой, ведь это самое главное тут
раскрыть ветку (1)
Автор поста оценил этот комментарий

Все таки многих книг просто может не быть. Также нужно писать в точности как книга называется на литресе. Но да, будем улучшать и добавлять новые источники.

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

Я лучше по старинке, с каноничного Рутрекера...

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

Спасибо за идею! Кажется, можно качать и с рутрекера. Думаю добавлю такую возможность в бота - просто будет предлагать если что подождать 5-10 минут, пока все правильно загрузится.

показать ответы
33
Noblesse oblige
Автор поста оценил этот комментарий

Бот платный.

Ничего такого, чего нету бесплатно на сайте "книга в ухе" нет. Например на запрос "Эдвард Беллами" ничего не находит. На платного бота никак не тянет... Тем более раз уж ты хватаешься, что за тебя ГПТ всё придумал.

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

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

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества