Проект для автоматического сбора данных о книгах с сайта books.toscrape.com. Включает в себя парсинг данных, автоматическое расписание выполнения и сохранение результатов.
book_scraper_project/
├── src
│ └── scraper.py
├── artifacts/
│ └── books_data_*.txt
├── tests/
│ └── test_scraper.py
│── notebooks/
│ └── HW_03_python_ds_2025.ipynb # Основной ноутбук с анализом
├── requirements.txt
├── README.md
- Парсинг данных о книгах: название, цена, рейтинг, наличие, описание, технические характеристики
- Автоматическое расписание: ежедневный запуск в указанное время
- Сохранение результатов: автоматическое сохранение в текстовые файлы
- Обработка ошибок: устойчивость к сетевым ошибкам и изменениям структуры сайта
# Создайте папку проекта
mkdir book_scraper_project
cd book_scraper_project
# Создайте необходимые папки
mkdir artifacts tests notebookspip install -r requirements.txtpip install requests beautifulsoup4 schedulefrom src.scraper import scrape_books
# Быстрый тест - 2 страницы
books = scrape_books(save_to_file=True, max_pages=2)
# Полный парсинг всех страниц
books = scrape_books(save_to_file=True)# Запуск парсера напрямую
python scraper.pyДанные сохраняются в папке artifacts/ в формате txt.
Для запуска тестов:
python -m pytest tests/Или конкретного тестового файла:
python tests/test_scraper.pyimport requests
from bs4 import BeautifulSoup
import time
import schedule
import os
from datetime import datetime requests- отправка HTTP-запросов к сайту books.toscrape.combeautifulsoup4- парсинг HTML и извлечение данных со страницschedule- автоматический запуск парсинга по расписаниюtime- задержки между запросами (time.sleep())os- создание папкиartifactsесли её не существуетdatetime- добавление временных меток к данным