Парсинг на Python | Зарабатываем на фрилансе | Телеграм бот на aiogram | Парсинг динамического сайта
HTML-код
- Опубликовано: 4 дек 2021
- 🔥 Telegram канал с софтом и кучей полезных ништяков:
t.me/python2day
Фриланс. Обучение (Web-Scraping) веб парсингу на Python. В данном видео выполняем заказ взятый на фрилансе по парсингу динамического сайта скинов для Counter-Strike, с последующей выгрузкой в телеграм бота написанного на библиотеке aiogram. Выполняем задачу с помощью библиотек requests, aiogram и запросов к API. С записью данных в json файл и отправкой сообщений в телеграм бота.
🔥 Доступ в приват | Поддержать проект:
boosty.to/pythontoday
/ pythontoday
yoomoney.ru/to/410019570956160
🔥 Стать спонсором канала:
/ @pythontoday
****Ссылки****
Дешевый/надежный сервер в Европе:
zomro.com/?from=246874
promo_code:
zomro_246874
Хороший proxy сервис:
proxy6.net/a/149995
Парсинг криптобиржи | Торговый бот | API криптобиржи:
• Парсинг криптобиржи | ...
Python с нуля | if _name_ == '__main__' | Зачем? И почему нужно использовать
• Python с нуля | if __n...
Асинхронный парсинг на Python | Ускоряем код в 10 раз
• Асинхронный парсинг на...
Парсинг на Python | Подмена IP-адреса | Запросы через прокси
• Парсинг на Python | По...
Парсинг динамического сайта на Python + Telegram бот на AIOGram | Requests, AIOGram, API, JSON
• Парсинг динамического ...
Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
• Пишем Telegram бота на...
Плейлист по распознаванию лиц на Python:
• Распознавание лиц | Fa...
Плейлист по парсингу сайтов на Python:
• Парсинг/Scraping
Плейлист по Instagram боту:
• Instagram Bot на Pytho...
Плейлист по Linux для новичков:
• Linux для начинающих
Код проекта на github:
github.com/pythontoday/scrap_...
И в telegram канале:
t.me/python2day
****Соц.сети****
Telegram: t.me/python2day
#telegrambot #фриланс #парсинг #requests #python #aiogram #заработок #webscraping #заработоквинтернете #telegram #telegrambot #scraping #телеграмбот #телеграм
# TODO
✅ Пофиксить выход из цикла при получении {"error":2}
✅ Изменить time.sleep на asyncio.sleep
Друзья большое спасибо за фидбэк!
Не обязательно импортировать json.
requests и так умеет с ним работать.
Вот как ты получаешь .text ответа, так можно и .json() получать.
js = requests.get(url).json()
Так мне нужен модуль для записи в json файл, чтобы проставить отступы и ascii.
@@PythonToday почему использовал requests а не aiohttp?
синхронные функции в боте блокируют работу бота. Т.е. если кто то выберет ножи, во время выполнения функции никто не сможет воспользоваться данным ботом
@@PythonToday зачем записывать в файл? Во первых работа с постоянной памятью - очень дорогой процесс по времени, во вторых - в случае, если прилетят два запроса за получение выдачи с малым промежутком, то начнётся гонка за ресурсами. Плюс это не совсем грамотно, что функция сохраняет результат именно в виде файла на диск с захардкоженным путем. В идеале она просто должна возвращать чистые данные, а уже те, кто ею пользуется, должны решать, как их сохранять и как обрабатывать
Отличная серия уроков по парсингу! Достойно ТОПа. Очень нравится подача с постоянным проговариванием и повторением. За 3 урока вбил в голову и осознал последовательность действий. Спасибо
Спасибо за поддержку! Рад что видео помогают.
у вас реально получается качественно преподавать материал. Не важно вы про Python или про теорию функций комплексных переменных будете рассказывать. Развивайте тему дальше. Не только же на процедурном способе останавливаться.
Благодарю за фидбэк!
Обожаю этот канал, лучший пайтон канал, особенно для тех кто хочет научиться парсингу!
В очередной раз спасибо, прям от души и чем больше смотрю, тем больше убеждаюсь в двух вещах:
1) взаимодействие между различными файлами проекта (передача аргументов, вызов функций итд) это не так сложно и непонятно, как казалось на первый взгляд
2) боты, как оказалось не кусаются и в целом проще чем кажутся, нужно только понять принцип построения функции обработки одной команды/кнопки и все, можно создавать хоть просто бота одной задачи, хоть унибота который будет совмещать в себе функционал 10-20 парсеров, оперируя командами импортированными из разных скриптов(нужно только подразобраться в клавиатуре (по типу создания новых кнопок после выбора одного из пунктов меню и возвращение к основному меню по кнопке/команде, премерное представление как это должно быть уже есть, вопрос только в практике )
Первый раз попался в ленте канал, а я уже в восторге
В 100 раз полезнее видосов по 3 часа, где 2.5 - вода
С 5 минуты видео начал думать на патрик подписаться
Спасибо, что ты есть, и что я тебя нашел
Большое спасибо за фидбэк!
Полезно и интересно, спасибо! Даже желание появилось программированием интересоваться: до этого видео кодинг казался чрезмерно сложным:-)
Все просто, главное практика. Вливайся!
Спасибо. Занимался похожим в своих мини-пет проектах и многое по парсингу пригодится, из того что вы показали :)
Хороший человек и его хорошие видео. Спасибо за твои труды. Надеюсь после просмторов твоих видео люди больше увлекаются программированием!
Большое спасибо за такой фидбэк!
Супер, спасибо за тутор 😁 это моя вторая прога по питону за жизнь, и почти сразу получилось переписать под свой проект 😅
Как обычно, на канале пушечная подача, и актуальная информация. СПАСИБО!
Благодарю!
Круто, Cain! Молодец, поддерживаешь интерес к программированию подбрасыванием дров, облитых бензином
Это тебе огромное спасибо за твой труд! Лучший канал с практикой, здоровья!
Благодарю за поддержку дружище! Взаимно!
практикой здоровья? шта?!!! =)))
@@user-hn6nh5jd6x Лучший канал с практикой, а здоровья - автору, и всем кто подписан.
Наткнулся случайно на Ваш канал в рекомендациях ютуба. Недавно начал изучать Python, изучил http запросы и ответы, словари, списки и прочее подробно (не так, как преподают в вузе). Что меня удивило - простота задачи как таковой; моих начальных знаний хватит, чтобы самому выполнить подобную задачу, чему я очень рад. Синтетические задания в книгах-обучалках, в образовательных учреждениях не дают полезных знаний, что сильно демотивирует и понижает самооценку (кажется, что ничего не знаю в программировании, работу после выпуска найти не смогу).
С помощью подобных видео, за что огромное спасибо, появляется желание изучать программирование дальше, особенно с такими отличными объяснениями и ПРАКТИЧЕСКИМИ РЕАЛЬНЫМИ заданиями! Подписка + лайк, без сомнений.
Огромное спасибо за такой фидбэк! Рад что видео полезны)
Спасибо огромное за видео. Среди сотен это именно то, которое мне помогло написать свой первый парсер.
Очень познавательно!
учитывая опыт в этой сфере, принимаешь ли ещё заказы на около-ксго парсеры/проекты ? :)
Вау, не ожидал тебя тут увидеть:)
думаю он примит твой заказ
Почему я не удивлен, увидев тебя здесь?)
Ох снова какой-то прибыльный крафт сломается 😂
Круто, спасибо! Даже не знал о том, что так можно чекать запросы.
Благодарю за фидбэк!
Приятно смотреть, отличная подготовка к видео.
Ну просто топ...
👌Лучший!
Большое спасибо!
Отличный канал, круто объясняете все пошагово, оч круто!
Спасибо за фидбэк и поддержку!
Спасибо, хочется больше такого контента !!! 😍
Благодарю! Буду стараться.
Как всегда огромное спасибо, добра и процветания!
Большое спасибо за поддержку! Взаимно!
Большое спасибо за крутую практику, а не 2 + 3! Будь здоров Cain :) Несколько лет назад продал перчатки, что-то около 1к было. Радовался как слон, так они потом подорожали до 3 xD
Спасибо за поддержку)) 👍 У меня только дигл был баксов за 100 максимум :(
Тема лютая!!! Спасибо тебе огромное за то что делаешь!!
P.S.: Не так давно смотрел обзор на машину стоимостью около 3 млн.руб и вопрос к хозяину, откуда деньги, сделал мой день) он рисует скины в CS. Самый дорогой пистолет с сакурой он продал за 20k зелени.
Благодарю за поддержку! То-то и оно, надо ставить cs и photoshop.
Где продаёт?
@@als-creator ruclips.net/video/-jG9DzMAmOc/видео.html
Там есть его ник, думаю что можно будет найти.
Спасибо! Урок как всегда на высоте. Было бы классно в заключении понимать, что делать дальше, как передать проект заказчику, как выложить на сервер, какие возможны ошибки и как их обработать... Также хотел бы понять надо ли использовать ООП для решения подобных задач. Еще раз спасибо!
Контент супер! Немного оговорился на 3:29 ('Используем метод random'), хотя это свойство
Отлично! Спасибо за ваш труд
Огромное спасибо за фидбэк и поддержку!
Как всегда всё очень доступно. Спасибо
Спасибо за фидбэк!
Очень круто, атмосфера поменялась после смены IDE
Благодарю!
Спасибо! Коммент для поддержки! :)
Спасибо за поддержку!
Брат поздравляю с 100к от души желаю тебе здоровья и счастья ни когда не сдавайся брат мы с тобой удачи брат ✊🏼✊🏼✊🏼
Большое спасибо за поддержку!
ну огонь , ответит на многие вопросы
обязательно лайкнул) не зря стараешься)) спасибо))
Большое спасибо за поддержку!
Ну теперь нужен урок как рисовать скины)
Большой полезный урок, спасибо!)
Небольшая идея для урока - телеграм бот с функцией принятия какого-нибудь файла от юзера, обработка файла на сервере и ответ юзеру с новым файлом. Бот по автоматизации к примеру Эксель файлов.
Большое спасибо за фидбэк! Не говори, надо рисовать учиться. За идею благодарю!
@@PythonToday я прифигел от цен в ролике)
Годнота!!! Пытаюсь разобраться,но очень интересно!!!
Главное практика, всё придет. Благодарю за фидбэк!
Топ гайды по парсингу
Также следует импортировать не time, а из asyncio функцию sleep, чтобы бот работал асинхронно
Большое спасибо! Поправил.
@@PythonToday Кстати не обязательно фильтр Text из aiogram импортировать, можно в декоратор сразу атрибут text с нужным значением передавать
Весьма эффективный способ скрапинга. С недавних пор тоже начал так делать, когда вижу, что пагинация через ajax запросы сделана, ну или фронт сайта сделан на vue или react
Я очень жду парсинга сложных сайтов, например того же eldorado, где надо с куками поработать для парсинга
Благодарю за урок. Можете подсказать, на какой фриланс-бирже Вы брали этот заказ?
Я один словил пермак за рандомного пользователя?) Пришлось вставлять свои данные😳 Спасибо за урок!)
Спасибо за контент! Если не затруднит и если интересно, можешь сделать видео как запускать исполнение бота на aiogram при помощи вебхуков и деплой на pythonanywhere? Заранее спасибо)
Лучшие уроки по парсингу на Python всея земля
Благодарю 👍
Спасибо за уроки, есть вопросик:
Думаю с этим многие сталкиваются/будут сталкиваться. Нужно получить код страницы, но все не так просто, при прокрутке вниз во вкладке “elements” подгружаются части кода, но никаких запросов и ответов не прилетают, каким образом получить полную информацию с сайта?
Спасибо огромное 💪💪
Крутое видео, начал учиться с ваших видео, большое спасибо за колоссальную работу. Хотелось бы посмотреть на выбор биржи для работы.
Благодарю за фидбэк! На канале есть видео на эту тему ruclips.net/video/1pLlX9x60rM/видео.html
Спасибо за труд!
Благодарю за поддержку!
Привет, а есть ли видео в котором вы рассмотрели парсинг на сайте, где надо авторизоваться на сайте через steam, перед тем как GET запросы отправлять?
Молодец, ты КРУТОЙ ; ))
Спасибо за крутую работу!
Благодарю за фидбэк!
сделай на ютуб курс по хакингу! Просто лучший!
Большое спасибо за это видео!
Спасибо за поддержку!
У меня несколько вопросов.
Как дальше этот проект передается заказчику? Отдается чисто код или исполнитель сам деплоит куда то на сервера? И второй момент касательно бота. Если кто то другой случайно наткнется на бота в поиске телеграмма, то сможет им пользоваться, или бот как то настраивается так, что им может только заказчик пользоваться?
pered snom nauchilsya novomu))) spasibo i like
Spasibo
Не зря выкладываешь ролики
Спасибо за поддержку!
Ого, сильно!)
Крутой годный контент. Cтранно что у вашего канала так мало подписчиков
Большое спасибо за поддержку! Надеюсь на рост в новом году)
Шикарный видос. Подскажи как ты картинки вставил в список кнопок?
Круто!!! Но есть вопрос! А что будет, если пользоваться ботам будут человек 10 одновременно? Файл с данными будет перезаписываться в этом случае!
Здравствуйте, а как вы поняли что запрос 4:36 "весьма интересный"?
Просто круть!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Спасибо!
Большое спасибо за видос!. Подскажите как завернуть не в телегу а опубликовать на сайт, к примеру wp. буду рад любой инфе!
Спасибо! Сделайте пожалуйста видео на написание парсера с многопоточностью и ротацией прокси на python, можно под selenium и под requests и сохранением данных в sqlite
Благодарю за фидбэк! Где-то был код, пороюсь в закромах.
@@PythonToday Можете на примере моего парсера с вашими дополнениями yadi.sk/d/edRXlFBdR9KUwQ
@@PythonToday Спасибо вам за топовый контент! Где то можно увидеть реализацию с многопоточностью и ротацией, мне было бы очень полезно для практики)
почти любой парсинг можно сделать без селена
В поддержку.Благ.
Благодарю!
ты просто бог гениев спасибо тебе. Красавчик
Только учусь, спасибо за фидбэк!
да, за реальную практику респект и лайк с ходу от СЕООНЛИ
Благодарю, кто такой СЕООНЛИ?
@@PythonToday легенда...
афигенно!! Спасибо
Спасибо за поддержку!
очень давно учился программированию и помнится перед написанием проги составляли блоксхему)) сейчас это не модно?
Спасибо за контент!!!
Спасибо за поддержку!
Здравствуйте, я не совсем понимаю этой строки, keyboard.add(*start_buttons), для чего тут *?
Это указатель на массив строк? просто я больше по с++, а питон для души
Круто, класно, молодец!
Благодарю!
и по aigram интересно было бы посмотреть регистрацию по номеру телефона или вход с определенных id
Не сильно ли странно вышло, что в каждой функции get_*weapon*() будет повторяться кусок единообразного кода? Я бы вынес его в отдельную функцию по типу answer_card(data) или в роде того. (я не про в ваших этих ботах, уважительная просьба если собираетесь хейтить, то только из объективных причин, т.е. указывать по какой конкректно причине).
Да и можно было создать словарь в начале, и в нём прописывать начальное сообщение и аргументы для ответа на него (на этапе бота)
Помогите. Не могу спарсить д
один элемент на странице его просто BS не видит
🍺🍺🍺 очень понятно! Спасибо 🙏
Большое спасибо за хороший контент!!!
Вопрос: Как бороться с ограничением количество запросов (например после 10 запросов дает 5xx ошибки запроса)? Решение с паузами не помогает.
Как ты относишься к фреймфоркам которые предназначены для скраппинга Scrapy, Splash?
Ограничение даётся не на количество запросов, а на связку количество запросов + IP откуда идёт запрос, обход можно реализовать через proxycrawl используя их пул из проксей (в лоб и если быстро надо стащить все данные), и второй способ проанализировать ответный header при 5хх ошибки возможно там есть Retry-After и выставить задержку согласно разницы между Retry-After и текущем времени (очень долгое время ожидания данных на некоторых сайтах Retry-After 24 часа)
Контент супер!
Благодарю!
Поддержку тебя комментарием а потом деньгами очень сильный контент
Большое спасибо за фидбэк и поддержку!
большое спасибо!
Здравствуйте, у меня возникла проблема: При записи кода в html файл не записываются русские символы.
with open('result.html', 'w', encoding = 'utf-8') as file:
file.write(response.text)
Спасибо, друг!!!
Благодарю за фидбэк!
автор скажи пожалуйста как имитировать через реквест на нажатие кнопки. при парсинге есть блок с описанием. но что бы забрать полное описание, надо нажать "раскрыть описание" тогда в блоке появляются все необходимые классы. пытался по джейсон ответу сделать пост запрос не получилось.
просто кумир
Хммм, а как можно реализовать трек новых айтемов? Постоянно парсить и сравнивать с данными в словаре?
В закрытом чате есть видео и скрипты Телеграм ботов ?
По скачке видео из Ютуб Тик ток и т д ?
Замечательно 👍
Спасибо!
Привет как мне твои уроки нравятся. Я их просто обожаю. Спасибо
Большое спасибо за фидбэк и поддержку!
Присоединяюсь ко всем положительным комментариям)
Спасибо
Благодарю за фидбэк!
Здравствуйте! А где вы ищите заказы?
Спасибо за ролик
Спасибо за фидбэк!
а что если гет запрос всегда один, а товары подгружаются также как у вас в примере? как тогда быть?
Ты лучший
Достаточно увлекательное видео, хотя я и не программирую на пайтоне (мой стек C#/JS)! Смутил один момент, что если на последней странице будет ровно 60 айтемов? Тогда break не сработает и програма может просто упасть.
В основном на последней странице должен быть атрибут указывающий на то последняя ли это страница. Ну а если такого нет, то возможно стоит просто отлавливать ту ошибку с {"error": 2}
P.S. Вижу по твоему закрепленному комментарию, что похоже этой кейс уже был обнаружен)
Ага, благодарю за фидбэк!
offset = (page - 1) * batchSize, page = 0 => page++
Очень крутой материал!
Благодарю!
@@PythonToday За кота отдельное СПАСИБО! 😁🤝
У меня возникает проблема в строчке
items = data.get('items') выдаёт ошибку AttributeError: 'list' object has no attribute 'get'
у меня не достигается часть кода with open('result.json')... как пофиксить?
Если я собрал ссылки с сайта, захожу на следующий день, повторяю операцию, но мне нужны только те ссылки по которым я ещё не проходил. как отсеить такие ссылки?
Привет, как быть с сайтами где требуется вход через плагин
👍👍👍👍.
Хотел предложить вам идею для тг бот. У каждого бота есть админ панель но многие это админ панель ставят прям в боте но будет разумно поставить веб админку для настройки бота. Поискал в ютубе и гугле но нашол только 35% информации. Буду рад за такой ролик.
Напиши свой вариант, пришли ссылку на код и подумаем, что добавить и над чем ещё поработать.