!ВНИМАНИЕ!
Сейчас у меня не очень много свободного времени, и поэтому примерно следующие две недели посты будут выходить довольно редко.
Сейчас у меня не очень много свободного времени, и поэтому примерно следующие две недели посты будут выходить довольно редко.
Всем привет! Я 3 недели ничего не публиковал, но вот решил начать.
Я решил сделать копию бота Дай Винчик. Если что, это бот для знакомств в котором в основном сидят школьники. Так вот, я уже написал код, и даже запустил бота. Но так как скорее всего в боте куча багов я прошу вас протестить этот код. Вот бот - @leomatchprogabot . Этот бот будет работать до вечера. Если найдёте баг, то просьба скинуть его в чат - @pythonprogachat . Я постараюсь сегодня пофиксить все баги, и завтра с утра выложить код.
А этот текст для тех, кто уже запустил этого бота. Просто очистите сообщения, нажмите на кнопочку start и всё у вас будет Чики пуки. А если всё же найдете баг, то просьба о нём написать в чате.
Я решил сделать копию бота Дай Винчик. Если что, это бот для знакомств в котором в основном сидят школьники. Так вот, я уже написал код, и даже запустил бота. Но так как скорее всего в боте куча багов я прошу вас протестить этот код. Вот бот - @leomatchprogabot . Этот бот будет работать до вечера. Если найдёте баг, то просьба скинуть его в чат - @pythonprogachat . Я постараюсь сегодня пофиксить все баги, и завтра с утра выложить код.
А этот текст для тех, кто уже запустил этого бота. Просто очистите сообщения, нажмите на кнопочку start и всё у вас будет Чики пуки. А если всё же найдете баг, то просьба о нём написать в чате.
❤1
А вот и код Дайвинчика. Вчера он у меня поработал пару часов и даже без ошибок. И кстати, успели создать аж 66 анкет. Правда когда кто-то пытался посмотреть анкеты, ему высылалось сообщение 'Упс... Анкеты не найдены'. И на самом деле так и должно было быть. Код искал анкеты в радиусе 80 км, но к сожалению даже две анкеты на том расстоянии не было.
А теперь насчёт того, как работает поиск анкет. Код получается все анкеты, которые подходят определённому пользователю. Потом он смотрит на каком индексе остановился пользователь. Допустим он смотрит анкеты в первый раз, то индекс у него само собой будет 0. Тогда код высылает анкету пользователю, которая находится на нулевом индексе среди всех анкет. После этого индекс пользователя повышается на 1, и он становится равен одному. Теперь бот отошлёт анкету, которая стоит на 1 индексе, потом на 2, на 3 и т.д. Если что в бд индекс хранится в колонке ind.
А как работает уведомление пользователя о том, что его кто-то лайкнул? Когда пользователь находится в одной из двух менюшек, создаётся второй поток, в котором в цикле while код проверяет, лайкнул ли кто-то пользователя или нет. Если кто-то его лайкнул, то бот отменяет все register_next_step_handler, и сообщает пользователю о том, что его кто-то лайкнул. А если пользователя не кто ещё не лайкнул, но он уже нажал на какую-то кнопку в менюшке, то цикл while прекращается.
Внимание! Бот будет работать только с версией python 3.9!
Вот инструкция и исходный код:
А теперь насчёт того, как работает поиск анкет. Код получается все анкеты, которые подходят определённому пользователю. Потом он смотрит на каком индексе остановился пользователь. Допустим он смотрит анкеты в первый раз, то индекс у него само собой будет 0. Тогда код высылает анкету пользователю, которая находится на нулевом индексе среди всех анкет. После этого индекс пользователя повышается на 1, и он становится равен одному. Теперь бот отошлёт анкету, которая стоит на 1 индексе, потом на 2, на 3 и т.д. Если что в бд индекс хранится в колонке ind.
А как работает уведомление пользователя о том, что его кто-то лайкнул? Когда пользователь находится в одной из двух менюшек, создаётся второй поток, в котором в цикле while код проверяет, лайкнул ли кто-то пользователя или нет. Если кто-то его лайкнул, то бот отменяет все register_next_step_handler, и сообщает пользователю о том, что его кто-то лайкнул. А если пользователя не кто ещё не лайкнул, но он уже нажал на какую-то кнопку в менюшке, то цикл while прекращается.
Внимание! Бот будет работать только с версией python 3.9!
Вот инструкция и исходный код:
А вот и небольшое обновление Дайвинчика. Сейчас я покажу, что добавил:
1. Теперь если тебя лайкнула много человек, и все лнр одного пола, то так и будет показываться. Например - 'Ты понравился 2 девушкам', вместо 'Ты понравился 2 людям'.
2. Теперь у каждой анкеты есть свой ID, и по нему любой может найти твою анкету. Для этого есть кнопка, которая появляется во время начала просмотра анкет.
3. Также можно указать возраст, в пределах которого будут искаться анкеты для тебя. То есть если указать возраст от 15 до 25, то анкеты будут попадаться только в этом диапазоне.
4. Ещё можно указать свой Instagram.
5. А также можно анкете отправить не только текст или видео, но ещё и фото. Для этого во время просмотра анкету нужно нажать на кнопку 💌/🎥.
6. И последнее. Если раньше, чтобы указать город нужно было обязательно отправить геометку, то теперь можно написать название города в виде текста.
Внимание! Бот будет работать только с версией python 3.9!
1. Теперь если тебя лайкнула много человек, и все лнр одного пола, то так и будет показываться. Например - 'Ты понравился 2 девушкам', вместо 'Ты понравился 2 людям'.
2. Теперь у каждой анкеты есть свой ID, и по нему любой может найти твою анкету. Для этого есть кнопка, которая появляется во время начала просмотра анкет.
3. Также можно указать возраст, в пределах которого будут искаться анкеты для тебя. То есть если указать возраст от 15 до 25, то анкеты будут попадаться только в этом диапазоне.
4. Ещё можно указать свой Instagram.
5. А также можно анкете отправить не только текст или видео, но ещё и фото. Для этого во время просмотра анкету нужно нажать на кнопку 💌/🎥.
6. И последнее. Если раньше, чтобы указать город нужно было обязательно отправить геометку, то теперь можно написать название города в виде текста.
Внимание! Бот будет работать только с версией python 3.9!
👍6🔥1
А вот фото и видео, которые мне отправляли.
👍3
Наверное многие не знали, но с Google диском можно работать даже на Python, для этого у гугла есть свой API. Инструкция по его настройке ниже👇:
1. Перейдите в консоль API и создайте свой собственный проект.
2. Найдите «Google Drive API», выберите запись и нажмите «Enable».
3. Выберите «Credentials» в меню слева, нажмите «Create Credentials», выберите «OAuth client ID».
4. Теперь необходимо установить название продукта и экран согласия -> нажмите «OAuth client ID» и следуйте инструкциям. После завершения:
a. Выберите «Application type» как Web application.
b. Введите подходящее имя.
c. Введите https://localhost:8080 для «Authorized JavaScript origins».
d. Введите https://localhost:8080/ для «Authorized redirect URIs».
e. Нажмите «Save».
5. Нажмите «Download JSON» справа от идентификатора клиента, чтобы загрузить client_secret_<действительно длинный идентификатор>.json .
Загруженный файл содержит всю информацию об аутентификации вашего приложения. Переименуйте файл в «client_secrets.json» и поместите его в свой каталог с кодом.
А сам код вы найдёте ниже. В нём есть две функции, первая позволяет загрузить файл, а вторая получить список загруженных файлов.
С этим кодом мне помог он:
@egor_brownie2022
1. Перейдите в консоль API и создайте свой собственный проект.
2. Найдите «Google Drive API», выберите запись и нажмите «Enable».
3. Выберите «Credentials» в меню слева, нажмите «Create Credentials», выберите «OAuth client ID».
4. Теперь необходимо установить название продукта и экран согласия -> нажмите «OAuth client ID» и следуйте инструкциям. После завершения:
a. Выберите «Application type» как Web application.
b. Введите подходящее имя.
c. Введите https://localhost:8080 для «Authorized JavaScript origins».
d. Введите https://localhost:8080/ для «Authorized redirect URIs».
e. Нажмите «Save».
5. Нажмите «Download JSON» справа от идентификатора клиента, чтобы загрузить client_secret_<действительно длинный идентификатор>.json .
Загруженный файл содержит всю информацию об аутентификации вашего приложения. Переименуйте файл в «client_secrets.json» и поместите его в свой каталог с кодом.
А сам код вы найдёте ниже. В нём есть две функции, первая позволяет загрузить файл, а вторая получить список загруженных файлов.
С этим кодом мне помог он:
@egor_brownie2022
🤩4👍2
А это парсер для следующего сайта - https://www.qifa.ru/catalog/obuv.
Он берёт и сохраняет информацию о каждом товаре. И кстати. В самом начале кода есть переменная SPEED. Сейчас в ней записана строка 'h'. С этим значением парсер за 13 минут сохраняет в excel таблицу около 36 тысяч товаров. В этом режиме я немного ускорил скорость парсинга с помощью асинхронности и многопоточности.
А если записать в эту константу строку 'l', то парсинг будет длиться больше 10 часов, но зато будет более подробная информация о каждом товаре. На самом деле эту цифру можно уменьшить, если добавить асинхронность и многопоточность ещё и в этот режим, но я не успел сегодня это сделать, так что ждите завтра.
Но запомните, в константу SPEED можно записать либо 'h', либо 'l', и никакое больше значение.
И ещё. Перед запуском кода не забудьте скачать библиотеку lxml. Я её не импортировал, но она нужна.
Он берёт и сохраняет информацию о каждом товаре. И кстати. В самом начале кода есть переменная SPEED. Сейчас в ней записана строка 'h'. С этим значением парсер за 13 минут сохраняет в excel таблицу около 36 тысяч товаров. В этом режиме я немного ускорил скорость парсинга с помощью асинхронности и многопоточности.
А если записать в эту константу строку 'l', то парсинг будет длиться больше 10 часов, но зато будет более подробная информация о каждом товаре. На самом деле эту цифру можно уменьшить, если добавить асинхронность и многопоточность ещё и в этот режим, но я не успел сегодня это сделать, так что ждите завтра.
Но запомните, в константу SPEED можно записать либо 'h', либо 'l', и никакое больше значение.
И ещё. Перед запуском кода не забудьте скачать библиотеку lxml. Я её не импортировал, но она нужна.
👍6
Я обещал ещё вчера выложить обновлённую версию парсера, но немного опоздал. И кстати, старая версия не будет работать, потому что на момент публикации её в канал, сайт который я парсил немного изменился. А ещё во время теста парсера я сделал так, что он сохраняет только первые 10 страниц, и забыл потом убрать это ограничение. Так что ловите новый. Он должен работать, потому что я протестировал его сегодня утром. И ещё раз повторю. У него есть две скорости работы. Они определяются константой SPEED в начале кода. Если в неё записать строку 'h', то он будет работать в быстром режиме, а если записать строку 'l', то в медленном.
И ещё. Последняя версия кода Дайвинчик имела пару ошибок, которые я не заметил. Я их исправил, и новый код можно найти в этом сообщении -https://t.iss.one/pythonproga/267 .
И ещё. Последняя версия кода Дайвинчик имела пару ошибок, которые я не заметил. Я их исправил, и новый код можно найти в этом сообщении -https://t.iss.one/pythonproga/267 .
👍10🔥2❤1
А это код бота телеграмм, который позволяет скачивать видео с Ютуба.
Для начала нужно создать сервисный аккаунт в Google Cloud.
Для этого прочитайте эту страницу - https://support.google.com/a/answer/7378726?hl=ru .
И когда вы будете включать API, то найдите Google Drive API.
Затем зайдите в гугл диск в том аккаунте, в котором вы создали сервисный аккаунт. Создайте любую пустую папку и откройте в ней доступ для email сервисного аккаунта. Этот email выглядит примерно так - [email protected] .
Потом в коде в константе SERVICE_ACCOUNT_FILE
нужно будет указать путь к JSON файлу, который вы получите. А в константе TOKEN необходимо указать токен телеграмм бота.
И теперь выполняем эту команду: pip install --upgrade google-api-python-client
Как скачать другие библиотеки надеюсь вы поймёте
Для начала нужно создать сервисный аккаунт в Google Cloud.
Для этого прочитайте эту страницу - https://support.google.com/a/answer/7378726?hl=ru .
И когда вы будете включать API, то найдите Google Drive API.
Затем зайдите в гугл диск в том аккаунте, в котором вы создали сервисный аккаунт. Создайте любую пустую папку и откройте в ней доступ для email сервисного аккаунта. Этот email выглядит примерно так - [email protected] .
Потом в коде в константе SERVICE_ACCOUNT_FILE
нужно будет указать путь к JSON файлу, который вы получите. А в константе TOKEN необходимо указать токен телеграмм бота.
И теперь выполняем эту команду: pip install --upgrade google-api-python-client
Как скачать другие библиотеки надеюсь вы поймёте
👍10😱2
А это новая версия бота, который скачивает видео с Ютуба. Чтобы этот код заработал, нужно сделать всё тоже самое, что и раньше (прочитайте этот пост - https://t.iss.one/pythonproga/274).
А теперь давайте я объясню, что изменилось.
1. Теперь вместе с видео будет скачиваться и звук (но в отдельном файле).
2. Если раньше я сохранял id загруженных файлов в гугл диск в список, и через 10 минут просто удалял файлы по id из этого списка, то теперь я получаю список загруженных файлов, и проверяю дату их создания.
3. Если был плохой интернет, то поднимались ошибки по типу TimeoutError или Connection Error, и код их просто не обрабатывал. Сейчас я это исправил.
И ещё в старой версии было куча багов (и скорее всего ни есть и в этой)
А теперь давайте я объясню, что изменилось.
1. Теперь вместе с видео будет скачиваться и звук (но в отдельном файле).
2. Если раньше я сохранял id загруженных файлов в гугл диск в список, и через 10 минут просто удалял файлы по id из этого списка, то теперь я получаю список загруженных файлов, и проверяю дату их создания.
3. Если был плохой интернет, то поднимались ошибки по типу TimeoutError или Connection Error, и код их просто не обрабатывал. Сейчас я это исправил.
И ещё в старой версии было куча багов (и скорее всего ни есть и в этой)
👍79