Найти в Дзене

Как написать своего первого Python-бота за один день

Каждый программист мечтает о том моменте, когда код начинает работать сам, а ты просто пьёшь кофе и наблюдаешь, как скрипт делает всё за тебя. Автоматизация - это не просто тренд. Это навык, который экономит часы, дни, а иногда и месяцы рутины.
Сегодня я покажу, как написать простого, но полезного бота на Python, который будет собирать новости с сайта и сохранять их в Excel. Такой бот пригодится студенту, журналисту, копирайтеру или даже разработчику, который хочет быстро собирать свежие IT-темы без лишних кликов. Для проекта нужны три библиотеки: requests - для отправки запросов на сайты; BeautifulSoup из пакета bs4 - чтобы «разбирать» HTML и доставать нужные куски; pandas - чтобы сохранить всё в красивую Excel-таблицу. Если их нет - ставим через терминал: requests.get(url) скачивает HTML-страницу сайта. BeautifulSoup(response.text, 'html.parser') превращает этот HTML в удобный объект, чтобы можно было искать по тегам (<h2>, <a> и т.д.). Если ты когда-то открывал «Просмотр кода стран
Оглавление
Python для автоматизации
Python для автоматизации

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

Автоматизация - это не просто тренд. Это навык, который экономит часы, дни, а иногда и месяцы рутины.

Сегодня я покажу, как написать
простого, но полезного бота на Python, который будет собирать новости с сайта и сохранять их в Excel.

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

Что нам понадобится

Для проекта нужны три библиотеки:

requests - для отправки запросов на сайты;

BeautifulSoup из пакета bs4 - чтобы «разбирать» HTML и доставать нужные куски;

pandas - чтобы сохранить всё в красивую Excel-таблицу.

Если их нет - ставим через терминал:

ставим через терминал три библиотеки
ставим через терминал три библиотеки

⚙️ Шаг 1: подключаем библиотеки и делаем запрос

подключаем библиотеки и делаем запрос
подключаем библиотеки и делаем запрос

Разъяснение

requests.get(url) скачивает HTML-страницу сайта.

BeautifulSoup(response.text, 'html.parser') превращает этот HTML в удобный объект, чтобы можно было искать по тегам (<h2>, <a> и т.д.).

Если ты когда-то открывал «Просмотр кода страницы» в браузере - то теперь ты делаешь то же самое, но с помощью Python.

📰 Шаг 2: извлекаем заголовки и ссылки

извлекаем заголовки и ссылки
извлекаем заголовки и ссылки

Разъяснение

find_all('h2', class_='title') ищет все теги <h2> с классом title - обычно там заголовки новостей.

article.text достаёт сам текст без HTML-тегов.

article.find('a')['href'] берёт ссылку на статью.

Всё складывается в news_list, который потом превращается в таблицу.

💡 Совет: если структура сайта другая, просто поменяй теги и классы - бот адаптируется за минуту.

Шаг 3: сохраняем данные в Excel

сохраняем данные в Excel
сохраняем данные в Excel

Разъяснение

pd.DataFrame(news_list) превращает собранные данные в таблицу, как в Excel.

to_excel('news.xlsx', index=False) сохраняет результат в файл, чтобы потом открыть его одним кликом.

print(...) сообщает, что всё готово.

Теперь у тебя есть бот, который собирает новости и кладёт их в удобный Excel-файл. Можно делать это хоть каждый день.

Улучшаем нашего бота

1️⃣ Добавляем проверку ошибок

Иногда сайт может не ответить. Чтобы бот не упал, добавим защиту:

Добавляем проверку ошибок
Добавляем проверку ошибок

Если сайт недоступен, программа просто напишет об этом и завершит работу.

2️⃣ Автоматическое имя файла

Чтобы бот сохранял файл с датой, делаем вот так:

Автоматическое имя файла
Автоматическое имя файла

Теперь каждый день будет создаваться новый файл, например:
📁 news_2025-10-21.xlsx

3️⃣ Фильтруем нужные новости

Допустим, тебе нужны только статьи про Python:

Фильтруем нужные новости
Фильтруем нужные новости

Теперь бот не будет собирать всё подряд, а оставит только самое интересное.

Как сделать бота ещё круче

Отправка отчёта в Telegram.
Можно подключить python-telegram-bot и отправлять себе новости прямо в чат.

Парсинг нескольких сайтов сразу.
Создай список urls = [...] и сделай цикл - бот станет универсальным агрегатором.

Планировщик задач.
Через Task Scheduler (Windows) или cron (Linux/macOS) можно запускать его каждый день автоматически.

Итог

Ты только что создал реального бота на Python, который:

  • подключается к сайту,
  • собирает свежие новости,
  • сохраняет их в Excel,
  • и делает это без твоего участия.

Это не просто кусок кода - это фундамент автоматизации, на котором строятся корпоративные системы и сервисы.

Сегодня - новости, завтра - учёт заказов, а послезавтра - свой мини-Google.

🔥 Совет от “Студента программиста”:
Если хочешь освоить автоматизацию глубже, начни делать маленькие утилиты - парсеры, чекеры, автозагрузчики. Каждая такая штука учит тебя мыслить системно и писать код, который работает, пока ты отдыхаешь.

Понравилась статья? Ставьте лайк 👍, подписывайтесь на «Студент Программист» и начинайте воплощать идеи в жизнь прямо сейчас!

📖 Читайте также:

Google Colab: облачный Python без установки

Он создал Python «для себя» - а потом мир уже не смог отказаться

Баг с годом 2038, который до сих пор пугает инженеров