Dan Danzelov и Антон, да, такая проблема есть. Относительно недавно Habr немного поменял архитектур сайта. Положение всех элементов в HTML коде осталось на месте, но вот название классов и id - изменились. Вам просто нужно, следуя инструкции из видео, поизучать код страницы, и в программу поместить название класса не из видео, а из самого сайта. Надеюсь я доходчиво объяснил, но если будут ещё вопросы - задавайте 😁
@@PseudoDev Подскажи пж,как сделать парсинг из папки на пк,что бы он по порядку в течении определённого времени сразу картинку по очереди из папки? И желательно из другого канала ещё.
Нужно подробнее рассказать о моментах установки программ, о возможных проблемах. Я не программист нифига, но вижу что всё просто. Проблемы только с всевозможнымм настройками программы и разными установками.
Привет сколько будет стоить сделать грабер постов готовый чтоб в настройках менять только сайт. Я просто не шарю во всем этом пытался разобраться запутался
Привет, а как сделать чтобы только заголовок с новостного поста публиковать? Например риа новости: «Сегодня такое вот случилось» и чтобы только заголовки постились, как? А то в видео с ссылкой на ресурс и немного не то
Для этого нужно подстраивать программу-парсер под особенности сайта "риа новости". Но если рассматривать на примере нашей программы, то можно формировать пост лишь из значения переменной title, а description и url -не записывать
Python - интерпретируемый язык. Код подается на вход в интерпретатор. Стандартный и самый базовый интерпретатор Python можно скачать на официальном сайте языка - www.python.org/downloads/
@@PseudoDev Благодарю за ответ. Но видео не полноценное: Т.е. вы показали a=2 и b=3, потом print (a+b); В браузере показали "5". Но то, что нужно для этого ещё и поднять web-сервер с движком PHP, создать домен, засунуть файл в определённую директорию + обозвать файл index-ным, вы этот процесс пропустили. Код любой дурак с вашего видео перенаберёт в любом блокнотике. Но хотелось бы видеть реализацию под ключ, если вы уж сказали "А", говорите и "Б". Я лично заинтересован в создании бота парсера и ваше видео уже что-то дает. Но вот беда - не полностью.
Здравствуй, проверил цикл где идет сравнение back_post_id и post_id, вроде бы все должно работать, но даже если у них id одинаковые он снова шлёт тот же пост, можно ли как то исправить?
Можно такой вопрос: Telegram боты создаются только через язык программирования Python или можно для этих целей использовать другие языки программирования? Почему на ваш взгляд так много видео создания Telegram ботов именно с помощью языка Python?
Можно писать ботов на любом языке программирования, хоть на ассемблере. На Python это делать просто удобнее всего, но, насколько я знаю, есть ещё удобные API для языков: C++, C#, Java и JavaScript
Выведи весь код страницы в терминал Там найди нужный тебе текст и вытащи от туда див класс айди, у меня не воркало с просмотром кода страницы, а вот как описал тебе, заработало
Здравствуй, проверил цикл где идет сравнение back_post_id и post_id, вроде бы все должно работать, он снова шлёт тот же пост, можно ли как то исправить?
Ну так, картинка - это тот же текст. С помощью open() переносим картинку в оперативную память. Там она хранится в форме последовательности бит, а их можно легко отобразить в виде текста и отослать. myfile = open(image, 'rb') bytes = myfile.read()
Всё что видите и даже не видите, но видите в дебагере, всё можно парсить. Парсинг это прежде всего чтение всего того, что должно уйти на веб-клиента в браузер.
Здраствуйте есть ошибка в коде при выполнении парсера, можете помочь разобраться. ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None)) Это в какую сторону нужно копать сейчас Вы писали что на хабре изменили структуру html кода. Теперь что делать можно могли бы подсказать если будет время.
Вопрос открыт. Как связаться с автором этого канала? Как сделать бота, который будет: принимать, пересылать сообщения на канал? При этом, с возможностью бана избранных пользователей, которые присылают сообщения бо́ту.
Да нет, вопрос полностью закрыт) Цель видео была в парсинге новостного сайта, и автоматической публикации в телеграм канале. Все что вы написали - никак не связано с видео
Привет, использовал твой код, но для другого сайта. Проблема такая, бот все равно отправляет одно и тоже сообщение по нескольку раз. К тому же, не знаю с чем связанно если написать боту Старт - два раза подряд, он запостит 2 одинаковые новости, но если написать старт еще один раз он перестает реагировать, даже если ему писать рэндомные слова, он не выводит текст "Я тебя не понимаю. Напиши Старт".
Какое познавательное видео! Спасибо! Интересно, возможно ли написать бота и насколько это сложно, чтобы он автоматически предлагал запись в группе ВКонтакте загружая туда фото/видео/текст из определенных Инстаграм-аккаунтов в реальном времени?
используй прокси у теня такойже случай был получается так что хабр видит подозрительную активность с твое домена изза частых запросов (ты какбудто дудосишь сайт)
привет,вот если мне нужно будет несколько ссылок парсить (тз такое же как и действия в твоем видео) но нужно парсить несколько ссылок,как мне нужно это организовать ? просто создать функцию где будет собираться данные как на примере с видео (url,description,title). но если я буду везде одинаковые название переменных писать, то код же может не работать или я не прав? пожалуйста кто в теме,просветите пожалуйста
Привет. Смотри, если ты будешь работать с одним и тем же сайтом (допустим RUclips), то ты можешь организовать функцию-парсер, которая будет принимать в качестве аргумента URL нужного видео, а на выходе, через "return" будет возвращаться список следующего вида: [title, description, url]. Таким образом тебе не придётся создавать большое количество отдельных переменных для разных парсеров
Можно убрать циклы, чтобы оставался код чисто парсера и бота-отправителя, и запускать этот скрипт. В Виндоус есть специальный раздел системных вызовов, которые срабатывают в определенное время. Точно не помню как называется, но в Гугле легко найти
Курс могу организовать - уровень back-end разработчик и FULL-stack разработчик (уровень профессиональности - middle). Но его люди не хотят покупать. Все хотят сами - бесплатно. 9 000 брал на Авито, ни один не захотел. А учиться в ВУЗе 300 000 - 500 000 р + много левой информации о истории России, Рюрика и уроки философии... Выбор всегда за нами.
@@PseudoDev я хотел парсить статьи из Дзен канала в канал телеграмма, интересно, как это сделать? Я нашел ролик по selenium, но там проблемка, браузер открывается каждый раз при парсинге
Привет! При запуске исправленного кода (с новыми классами) вылезает ошибка "TypeError: 'NoneType' object is not subscriptable" ссылающаяся на строку "back_post_id = post_text[1]". Происходит это из за того что эта переменная ссылается на переменную(back_post_id = None), равную null или же None. Что ставить вместо значения None?
@@PseudoDev И ещё , что делать если выдаёт эту ошибку? Traceback (most recent call last): File "C:\Users\shugu\Desktop\Telegram-Parser-Bot-main\Parser.py", line 10, in title= post.find("a", class_="newsitem__title-inner").text.strip() AttributeError: 'NoneType' object has no attribute 'find'
@@PseudoDev Я просто создаю бота для парсинга новостной ленты майл , но не знаю что нужно удалить из твоего кода файла Bot.py , чтобы бот отправлял без проверки на айди , а просто каждые 20 минут , как это сделать? Помоги пожалуйста! Поддержал кстати твой канал)
@@pandasstero1123 Я не уверен в чём конкретно проблема. Нужно посмотреть в логи при DeBag-е (конкретно нужно посмотреть на значение переменной "post"). Скорее всего в строке (post = soup.find("li", class_="content-list__item content-list__item_post shortcuts_item", id=True)) программа просто не может обнаружить элемент на сейте, тем самым, в переменную "post" передаётся значение "None". Я могу и ошибаться, но нужно сделай дебаг
@PANDASSTER O 5:06 вроде как, этот код работает без привязки к id. Ну а промежуток в 20 минут, можно сделать так же, как и тут (5:34), тут особой магии никакой нет. Кста, спасибо за поддержку 😇
Пытаюсь запилить бота, который определенные слова на определённом сайте пишет. Тхт файл открыл, измеряю, но вот вопрос: куда-то в а BotFather вставить текст надо или же как использовать данный код? Сорян за нубство, но всё же.
Подскажите пожалуйста, нужен бот. который логинится на сайт, проверяет не изменилась ли страница и если изменилась -высылает сообщение в телеграм нужным пользователям. Спасибо!
Почему возникает такая ошибка: @bot.message_handler(content_types=['text']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: 'NoneType' object is not callable Process finished with exit code 1
Не работает, ошибка
такая же тема
Dan Danzelov и Антон, да, такая проблема есть. Относительно недавно Habr немного поменял архитектур сайта. Положение всех элементов в HTML коде осталось на месте, но вот название классов и id - изменились.
Вам просто нужно, следуя инструкции из видео, поизучать код страницы, и в программу поместить название класса не из видео, а из самого сайта. Надеюсь я доходчиво объяснил, но если будут ещё вопросы - задавайте 😁
@@PseudoDev спасибо разберусь )
@@PseudoDev мб я тупой, но не очень понял как кусок с def commands работает и зачем в конце кода идет возврат None и Post id
@@PseudoDev Подскажи пж,как сделать парсинг из папки на пк,что бы он по порядку в течении определённого времени сразу картинку по очереди из папки?
И желательно из другого канала ещё.
Боже, спасибо тебе добрый человек!!!!
Нужно подробнее рассказать о моментах установки программ, о возможных проблемах.
Я не программист нифига, но вижу что всё просто. Проблемы только с всевозможнымм настройками программы и разными установками.
Понравился ролик и хочешь видеть больше годного контента?
Поддержи проект на Boosty - boosty.to/pseudodev
Текст не пересылается когда пишешь боту,с чем это связано? Бот у меня администратор,всё ввёл правильно,что не так?
Если у тебя Пайтон 3.10 >, то могут быть проблемы. Я поставил 3.9, всё наладилось
Привет сколько будет стоить сделать грабер постов готовый чтоб в настройках менять только сайт. Я просто не шарю во всем этом пытался разобраться запутался
Привет, а как сделать чтобы только заголовок с новостного поста публиковать? Например риа новости: «Сегодня такое вот случилось» и чтобы только заголовки постились, как? А то в видео с ссылкой на ресурс и немного не то
Для этого нужно подстраивать программу-парсер под особенности сайта "риа новости". Но если рассматривать на примере нашей программы, то можно формировать пост лишь из значения переменной title, а description и url -не записывать
Я сам программист, но Delphi, PHP. Одно не пойму, пайтон интерпритируемый? То куда совать код?
Python - интерпретируемый язык. Код подается на вход в интерпретатор. Стандартный и самый базовый интерпретатор Python можно скачать на официальном сайте языка - www.python.org/downloads/
@@PseudoDev Благодарю за ответ. Но видео не полноценное:
Т.е. вы показали a=2 и b=3, потом print (a+b);
В браузере показали "5".
Но то, что нужно для этого ещё и поднять web-сервер с движком PHP, создать домен, засунуть файл в определённую директорию + обозвать файл index-ным, вы этот процесс пропустили.
Код любой дурак с вашего видео перенаберёт в любом блокнотике.
Но хотелось бы видеть реализацию под ключ, если вы уж сказали "А", говорите и "Б".
Я лично заинтересован в создании бота парсера и ваше видео уже что-то дает.
Но вот беда - не полностью.
Здравствуй, проверил цикл где идет сравнение back_post_id и post_id, вроде бы все должно работать, но даже если у них id одинаковые он снова шлёт тот же пост, можно ли как то исправить?
Подскажите пожалуйста. Как сделать бота, который работает наоборот?)
Дублирует посты с тг на сайт)
Ребзя, чтобы код бота работал, он должен быть одним из админов канала... У меня по другому не работало.. Вдруг кому то поможет)
У тебя получилось исправить class и id?Можешь прислать код, у меня не получается. Спасибо
@@sokolov_channel2035 привет, у тебя всё в итоге заработало?
Молитва Георгию Победоносцу
Можно такой вопрос: Telegram боты создаются только через язык программирования Python или можно для этих целей использовать другие языки программирования? Почему на ваш взгляд так много видео создания Telegram ботов именно с помощью языка Python?
Можно писать ботов на любом языке программирования, хоть на ассемблере. На Python это делать просто удобнее всего, но, насколько я знаю, есть ещё удобные API для языков: C++, C#, Java и JavaScript
@@PseudoDev спасибо за ответ 👍
Подскажите, пожалуйста, а сам код то куда нужно вставлять? Я как то этот момент упустил
Не понимаю о чём вы
@@PseudoDev человек не понял как код вообще запускается, написать то написал, а как код запустить и где
@@МаргаритаВернер-ь6тАвтор видать сам видео передёрнул, не знает о чём речь.
Можешь подсказать какое в данный момент название класса и id на Habr? не могу разобраться, что вписывать в код (после изменения архитектуры).
Выведи весь код страницы в терминал
Там найди нужный тебе текст и вытащи от туда див класс айди, у меня не воркало с просмотром кода страницы, а вот как описал тебе, заработало
Здравствуй, проверил цикл где идет сравнение back_post_id и post_id, вроде бы все должно работать, он снова шлёт тот же пост, можно ли как то исправить?
Привет, а можешь сделать видео по хостингу бота ?
Привет, сделал всё по твоему ролику, всё работает! Но, работает если только написать боту "старт", как сделать что бы не пришлось ничего писать боту?
Тогда нужно убрать условие запуска по тексту "страт", и сразу перейти к bot.send_massege()
@@PseudoDev и как мне это сделать? если я убираю условие то бот вообще ничего не постит в канал.
Привет! Текст понятно, а как картинку переслать?
Ну так, картинка - это тот же текст. С помощью open() переносим картинку в оперативную память. Там она хранится в форме последовательности бит, а их можно легко отобразить в виде текста и отослать. myfile = open(image, 'rb') bytes = myfile.read()
@@PseudoDev это прикол 🤣
@@lift-y7w забайтил получается))
@@PseudoDev получается
Добрый день, а возможно вакансии спарсить с этого сайта?
Да, вполне реализуемо
Всё что видите и даже не видите, но видите в дебагере, всё можно парсить. Парсинг это прежде всего чтение всего того, что должно уйти на веб-клиента в браузер.
Здраствуйте есть ошибка в коде при выполнении парсера, можете помочь разобраться. ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None))
Это в какую сторону нужно копать сейчас Вы писали что на хабре изменили структуру html кода. Теперь что делать можно могли бы подсказать если будет время.
Я немного не понял, как код связать с ботом?
Вопрос открыт.
Как связаться с автором этого канала?
Как сделать бота, который будет: принимать, пересылать сообщения на канал? При этом, с возможностью бана избранных пользователей, которые присылают сообщения бо́ту.
Да нет, вопрос полностью закрыт)
Цель видео была в парсинге новостного сайта, и автоматической публикации в телеграм канале. Все что вы написали - никак не связано с видео
Привет, использовал твой код, но для другого сайта. Проблема такая, бот все равно отправляет одно и тоже сообщение по нескольку раз. К тому же, не знаю с чем связанно если написать боту Старт - два раза подряд, он запостит 2 одинаковые новости, но если написать старт еще один раз он перестает реагировать, даже если ему писать рэндомные слова, он не выводит текст "Я тебя не понимаю. Напиши Старт".
Какое познавательное видео! Спасибо!
Интересно, возможно ли написать бота и насколько это сложно, чтобы он автоматически предлагал запись в группе ВКонтакте загружая туда фото/видео/текст из определенных Инстаграм-аккаунтов в реальном времени?
немношко сложно но возможно
получается, если за 30 минут ожидания бота опубликуется несколько статей, то бот пришлет только последнюю
поэтому нужно сверять, как минимум, 3 последних
Ребята куда писать и сохранить ето код?
Здорово, какую функцию нужно использовать чтобы например отправить ссылку картинки из инстаграм, а он скачивает и отправляет в чат🤔
Не работает. Когда что то пишу в боте, пост не отправляется в канал. Хотя все сделал точ точ как в видосе
👍👍👍👍
Подскажите пожалуйста, а как можно открыть ссылку в боте от пользователя автоматически. Спасибо
Красава
а как же кнопка отписки от подписки?
Не подскажите как исправить ошибку "'NoneType' object has no attribute 'text'"? элементы разметки на актуальные я поменяла
А что делать если сайт не имеет 'id'? как в этом случае делать?
Голова задымилась)
Можно новости с яндекса также делать?
Можно, главное перенастроить работу парсера на архитектуру Яндекса
@@PseudoDev там просто нету айдишников вообще, там новости никак не пронумерованы в html
А. Да, такое бывает. Это означает, что почти вся архитектура построена на JS(
Существуют какие-либо ограничения? Могут ли забанить IP-адрес за слишком частое обращение к сайту?
используй прокси у теня такойже случай был получается так что хабр видит подозрительную активность с твое домена изза частых запросов (ты какбудто дудосишь сайт)
Ну если ты попросишь бота обращаться к сайту каждые 0.1 секунды, то да. А так проверяй раз в 15 минут да и все
привет,вот если мне нужно будет несколько ссылок парсить (тз такое же как и действия в твоем видео) но нужно парсить несколько ссылок,как мне нужно это организовать ? просто создать функцию где будет собираться данные как на примере с видео (url,description,title). но если я буду везде одинаковые название переменных писать, то код же может не работать или я не прав? пожалуйста кто в теме,просветите пожалуйста
Привет. Смотри, если ты будешь работать с одним и тем же сайтом (допустим RUclips), то ты можешь организовать функцию-парсер, которая будет принимать в качестве аргумента URL нужного видео, а на выходе, через "return" будет возвращаться список следующего вида: [title, description, url]. Таким образом тебе не придётся создавать большое количество отдельных переменных для разных парсеров
Что делать если бот отправляет только первую букву заголовка и нет никакой ошибки?
Возможно ты при парсинге или постинге заголовка случайно поставил нулевой индекс: [0]
Пробегись по коду, может ты где-то недосмотрел
А с других каналов в телеге !?)
А как сделать чтобы он каждое утро м вечер в определённое время собирал и отправлял?
Можно убрать циклы, чтобы оставался код чисто парсера и бота-отправителя, и запускать этот скрипт. В Виндоус есть специальный раздел системных вызовов, которые срабатывают в определенное время. Точно не помню как называется, но в Гугле легко найти
@@PseudoDev cron?
Да, что-то типа того
А что за редактор кода? Можно название?
Да, конечно. Я использую Visual Studio Code
@@PseudoDevКод куда совать после написания?
Я сегодня сам попробую. Если не получится плачу деньги за бота который привязан к определенному сайту))))
Можешь подготовить курс по PHP?
Сори, не пишу на PHP 💁♂
Курс могу организовать - уровень back-end разработчик и FULL-stack разработчик (уровень профессиональности - middle).
Но его люди не хотят покупать. Все хотят сами - бесплатно. 9 000 брал на Авито, ни один не захотел. А учиться в ВУЗе 300 000 - 500 000 р + много левой информации о истории России, Рюрика и уроки философии...
Выбор всегда за нами.
Попытался спарсить Яндекс Дзен ( реальная задача стояла ), нихера, там защита от этой библиотеки, пробую Silenium..
Некоторые большие сервисы предоставляют собственные API для парсинга информации. Надо глянуть, может у Дзена тоже есть что-то такое 🤔
@@PseudoDev я хотел парсить статьи из Дзен канала в канал телеграмма, интересно, как это сделать?
Я нашел ролик по selenium, но там проблемка, браузер открывается каждый раз при парсинге
видео познавательное, но на начальном этапе error 403 для пересылки сообщений
чтобы код бота работал, он должен быть одним из админов канала... У меня по другому не работало.. Вдруг поможет)
А можно сделать чтобы бот постил новости из группы вк?
Да, можно. Главное подстроить парсер под архитектуру ВК, и всё будет ок 👌
как раз сижу делаю азаза
вау
Еще не пробовала написать аналогичный бот (попозже попробую), но спасибо за видео а то да, все эти гайды для дебилов...
Не работает
очень интересно, но ничего не понятно)
Не работала 🤔
Привет! При запуске исправленного кода (с новыми классами) вылезает ошибка "TypeError: 'NoneType' object is not subscriptable" ссылающаяся на строку "back_post_id = post_text[1]". Происходит это из за того что эта переменная ссылается на переменную(back_post_id = None), равную null или же None. Что ставить вместо значения None?
Этого бота можно закинуть в беседу?
В теории - да, это вполне реализуемо
@@PseudoDev И ещё , что делать если выдаёт эту ошибку? Traceback (most recent call last):
File "C:\Users\shugu\Desktop\Telegram-Parser-Bot-main\Parser.py", line 10, in
title= post.find("a", class_="newsitem__title-inner").text.strip()
AttributeError: 'NoneType' object has no attribute 'find'
@@PseudoDev Я просто создаю бота для парсинга новостной ленты майл , но не знаю что нужно удалить из твоего кода файла Bot.py , чтобы бот отправлял без проверки на айди , а просто каждые 20 минут , как это сделать? Помоги пожалуйста! Поддержал кстати твой канал)
@@pandasstero1123 Я не уверен в чём конкретно проблема. Нужно посмотреть в логи при DeBag-е (конкретно нужно посмотреть на значение переменной "post"). Скорее всего в строке (post = soup.find("li", class_="content-list__item content-list__item_post shortcuts_item", id=True)) программа просто не может обнаружить элемент на сейте, тем самым, в переменную "post" передаётся значение "None".
Я могу и ошибаться, но нужно сделай дебаг
@PANDASSTER O 5:06 вроде как, этот код работает без привязки к id. Ну а промежуток в 20 минут, можно сделать так же, как и тут (5:34), тут особой магии никакой нет. Кста, спасибо за поддержку 😇
Как сделать тоже самое для вк? Ответьте пожалуйста
Используй VK Api
@@PseudoDev а как
@@какиш-ь3м по назначению 😁
Пытаюсь запилить бота, который определенные слова на определённом сайте пишет. Тхт файл открыл, измеряю, но вот вопрос: куда-то в а BotFather вставить текст надо или же как использовать данный код? Сорян за нубство, но всё же.
Подскажите пожалуйста, нужен бот. который логинится на сайт, проверяет не изменилась ли страница и если изменилась -высылает сообщение в телеграм нужным пользователям. Спасибо!
Ошибка
Если ссылку на хозяина поста не оставлять,он может сделать так чтобы меня забанили?
post = soup.find("article", class_="tm-articles-list__item", id=True) если у вас ошибка с пост id
Здравствуйте, на какую строку нужно вписать эту команду?
че только не меня ни че не помогает
Ошибка Traceback (most recent call last):
File "не палю папку", line 7, in
@bot.message_handlers(content_types=["text"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'list' object is not callable
Почему возникает такая ошибка: @bot.message_handler(content_types=['text'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not callable
Process finished with exit code 1