Happy Python | Парсинг Фриланс Обучение🐍
388 subscribers
35 photos
2 videos
7 files
115 links
Изучаем Python🐍
👉🏼статьи 📝
👉🏼задачи 🧮
👉🏼фриланс 💰
👉🏼парсинг 🔎
👉🏼автоматизация ⚙️
👉🏼боты 🤖
👉🏼и многое другое 💣

Наш сайт: HappyPython.ru
Группа ВК: vk.com/happython
Админ: @object_13
Партнер: @backenddt
Чат: @Python_parsing_chat
Download Telegram
​​Доброго времени суток, выкладываю первую часть урока по парсингу на питоне.
1. Первым делом устанавливаем библиотеку requests, выполнив команду pip install requests и импортируем ее в наш проект

2. Затем берем ссылку интересующего нас сайта (переменная url)

3. Создаем словарь headers, из браузера берем информацию user-agent и accept. Их можно найти открыв консоль разработчика в браузере (клавиша f12) зайти на вкладку networks, далее headers немного пролистав Request headers.

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

4. Далее делаем запрос, передав url и headers, сохраняем в переменную response.

5. В переменную html мы передадим html код страницы применив к response свойство text, который нам понадобится в дальнейшем.

#parser #learning #requests
Наш чат: @Python_parsing_chat
​​Доброго времени суток, выкладываю вторую часть урока по парсингу на питоне, код прилагаю

1. Устанавливаем через терминал библиотеку bs4, выполнив команду pip install bs4 и импортируем из нее BeautifulSoup

2. Создаем объект «супа». Передаем нашу ранее полученную переменную html, с кодом страницы и вид парсера «html.parser»

3. Теперь можно приступить к самому интересному, поиску и получению данных с сайта.

Для начала перейдем на нашу страницу, с которой мы хотим извлечь данные, это будет eldorado.ru/c/televizory/b/SONY/

Возьмем для примера телевизоры брэнда SONY

Откроем консоль разработчика, зайдем в раздел «elements» найдем блок товара, он находится в теге <li> с классом «sc-1w9a1pg-0». Создадим переменную blocks со всем блоками найденными при помощи findall, заметьте, что «class» записан с нижним подчеркиванием, т.к. class зарезервирован питоном. Для ‘link’ добавим ‘https://www.eldorado.ru’, что бы наша ссылка была полноценная

4. Создадим список data, в будущем в него будут записана наша собранная информация

5. Проходимся по всем блокам и собираем с них нужную нам информацию

Я для примера взял название позиции, артикул, цену и ссылку на сам товар, добавляя все полученное в список data

6. Выведем на печать все что у нас получилось, плюс выведем количество полученных позиций

Мы получили только 36 товаров из 49, т.к. мы прошлись только по одной странице, в следующий раз разберем пагинацию
#parser #learning #requests
Наш чат: @Python_parsing_chat
​​В предыдущем мини курсе мы получили 36 записей, или же 1 страницу из 2х. Сейчас же пройдем по всем страницам, будь то 2 или овер999
1. Для начала нам нужно найти количество страниц, для этого воспользуемся консолью разработчика, пролистнем страницу донизу, найдем блок где указаны номера страниц, на данной сайте (https://www.eldorado.ru/c/televizory/b/SONY/) это тэг «div» с классом «onorfo-0 sc-1y0nltl-0 bblmYF» внутри этого блока находятся теги «li» в них и находятся номера страниц, нам нужен предпоследний, так как в нем содержится номер последней страницы, воспользуемся срезом -2 , если нет пагинации, получим только 1 страницу.
На данном примере мы получим 2 страницы
2. Теперь переработаем наш блок кода, где мы извлекали данные (#5 в предыдущем мини курсе ).
Используем цикл for чтобы пройтись по всем страницам, так же в наш запрос мы добавим параметр params где передадим словарь из {“ключ”: значение} он берется с основной ссылки, например зайдём на страницу 2 и увидим «https://www.eldorado.ru/c/televizory/b/SONY/?page=2» что у нас к ссылке добавилось «?page=2» вот это мы и добавляем params={‘page’: page} где значение это наш номер страницы.
Остальное остается как и было, добавим пару принтов, чтобы видеть как у нас продвигается процесс.
На выходе теперь мы получили 50 позиций, что соответствует общему количеству.
Кстати, Вы можете сменить url на любой другой раздел с сайта Eldorado.ru и код все равно будет работать.
В следующий раз мы разберем как можно сохранять в файлы, наши полученные данные.
#parser #learning #requests #beautifulsoup
Наш чат: @Python_parsing_chat
​​В прошлом уроке мы извлекли данные с сайта и передали их в переменную, теперь рассмотрим как ее сохранить в файл (csv и excel)
Этот мини урок и 3 предыдущих переработал, сделал более информативными и приятными. Переходим по ссылке в ВК и читаем, изучаем.
Не забываем подписаться
#parser #learning #csv #excel #pandas
Наш чат: @Python_parsing_chat
Всех приветствую🖐🏻,
на сайте использованном на уроках 2, 3 и 4 ‼️были изменены классы тэгов‼️, примите это ко вниманию, в комментариях к этим постам выложил исправленный код уроков, НО‼️сами уроки не редактировал.

Общая инфа: при работе с парсерами, будьте всегда готовы, что в любое время может измениться его структура и парсер может перестать работать, данный случай, хороший пример
​​Выкладываю обучающую статью по парсингу
🔎В данной теме:
- разберемся в скрытой пагинации 🙈
- используем фейковые юзер агенты при каждом запросе 👮‍♂️
- выставляем задержку после прохода каждой страницы ⌚️
- запускаем бесконечный цикл🔁
- полученные данные сохраняем в json файл💾

#parser #learning #pagination #json #практика
Наш чат: @Python_parsing_chat
​​🖐🏼Доброго времени суток! Очередная практика, на этот раз наша задача, это скачивание изображений🖼.

В этом уроке:
-получение изображений с помощью библиотеки requests📸,
-создание папок ( директорий )🗂,
-проверка на существование файла / директории
-установим счетчик времени работы нашего кода
И много другое

Полная статья в ВК, весь код там же💾
Группа ВК: @vk.com/python_parser_learn
Наш чат: @Python_parsing_chat

#downloadimage #image #requests #parser #python
​​🧾Списки в python для начинающих. Создал альбом для тех, кто только начинает свой путь, все наглядно и просто, мини шпаргалки. Со временем альбом будет дополняться и появятся новые
Ссылка на альбом: vk.com/infopython?w=wall-107124511_5176
Группа ВК: vk.com/infopython
Наш чат: @Python_parsing_chat

#списки #python
​​Доброго времени суток, сегодня наша задача, это регистрация бота в Telegram.

Приступим к ее решению. Для начала зайдем в приложение Telegram, найдем бота под именем BotFather

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

Вводим команду /newbot, даем ему имя, далее нас просят ввести название бота, с тем условием, что бы он заканчивался на 'bot' ('Bot'), оно уникальное, придется немного повозиться с названием, т.к. много имен уже занято)) После этого BotFather поздравляет нас с созданием бота и выдаем нам токен бота, сохраните его, в будущем он нам пригодится.

Добавляем описание нашему боту, вводим команду /setabouttext, BotFather предложит нам выбрать одного из наших ботов, выберем нужно, далее пишем само описание.

Выставляем иконку для бота, для этого просто вводим команду /setuserpic выбираем картинку и добавляем ее

Добавляем список команд, которые мы бы хотели увидеть в нашем боте.

При помощи /setcommands пишем название команды и краткие описание. Вводим в формате:

'команда1 — описание'

'командаN — описание'

Список всех команд использованных нами:

/newbot — создание нового бота (ввод имени и названия, получение токена)
/setabouttext — добавление описания к боту
/setuserpic — ставим свою иконку
/setcommands — добавление команд и их описания

Все достаточно легко и просто. Вот итог наших действий:
Имя, название, описание и иконка, команды

Поздравляю вас с созданием, вашего первого бота в Telegram!
Группа ВК: vk.com/infopython
Наш чат: @Python_parsing_chat

#bot #telegram #бот #телеграм
​​🌤В Данной статье напишем простенький парсер погоды, который при вводе от пользователя города, выдаст ему температуру на данный момент и описание погоды на день

Парсер погоды, статья в ВК группе

Группа ВК: vk.com/infopython
Наш чат: @Python_parsing_chat



#parser #python
​​⚙️🌤Соединяем ранее написанный парсер погоды с телеграм ботом, которого мы зарегистрировали в прошлом уроке
Читаем, изучаем, продолжаем писать в личку свои предложения.

Парсер + бот статья в ВК группе

Группа ВК: vk.com/pythonparser
Наш чат: @Python_parsing_chat



#bot #telegram #parser #python
​​Размещаем ранее написанного телеграм бота на сервер heroku и запускаем его!



Мой выложенный бот @object13_bot
Группа ВК: vk.com/pythonparser
Наш чат: @Python_parsing_chat



#bot #telegram #parser #python #heroku
​​Парсим сайт gauss.ru
Парсер сайта продукции светотехники торговой марки gauss


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

Группа ВК: vk.com/pythonparser
Наш чат: @Python_parsing_chat


#парсер #parser #python
​​Парсим сайт Wildberries
Парсер интернет магазина выполнен, цель достигнута🎯

Википедия:
Wildberries Международный интернет-магазин одежды, обуви, электроники, детских товаров, товаров для дома и других товаров

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


Группа ВК: vk.com/pythonparser
Наш чат: @Python_parsing_chat


#парсер #parser #python
​​Парсим таблицы

Сбор данных с таблиц при помощи библиотеки pandas

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



Группа ВК: vk.com/pythonparser
Наш чат: @Python_parsing_chat


#парсер #parser #python
​​А вот еще один 🔥 ОПАСНО ПОЛЕЗНЫЙ МАТЕРИАЛ🔥
Без него совсем никуда. Согласны?
#git #python #обучение
Channel name was changed to «Happy Python | Парсинг Фриланс Обучение🐍»
​​Выполняем заказ на фрилансе. Как скачать видео с YouTube в максимальном качестве. Качественный материал для новичков.
#фриланс #парсинг #python