- Выберите веб-сайт, который содержит информацию, представляющую интерес для извлечения данных. Это может быть новостной сайт, платформа для электронной коммерции или любой другой сайт, который позволяет осуществлять скрейпинг (убедитесь в соблюдении условий обслуживания сайта).
- Используя Selenium, напишите сценарий для автоматизации процесса перехода на нужную страницу сайта.
- Определите элементы HTML, содержащие информацию, которую вы хотите извлечь (например, заголовки статей, названия продуктов, цены и т.д.).
- Используйте BeautifulSoup для парсинга содержимого HTML и извлечения нужной информации из идентифицированных элементов.
- Обработайте любые ошибки или исключения, которые могут возникнуть в процессе скрейпинга.
- Протестируйте свой скрипт на различных сценариях, чтобы убедиться, что он точно извлекает нужные данные.
- Предоставьте ваш Python-скрипт вместе с кратким отчетом (не более 1 страницы), который включает следующее:
- URL сайта. Укажите URL сайта, который вы выбрали для анализа.
- Описание. Предоставьте краткое описание информации, которую вы хотели извлечь из сайта.
- Подход. Объясните подход, который вы использовали для навигации по сайту, определения соответствующих элементов и извлечения нужных данных.
- Трудности. Опишите все проблемы и препятствия, с которыми вы столкнулись в ходе реализации проекта, и как вы их преодолели.
- Результаты. Включите образец извлеченных данных в выбранном вами структурированном формате (например, CSV или JSON).
Примечание: Обязательно соблюдайте условия обслуживания сайта и избегайте чрезмерного скрейпинга, который может нарушить нормальную работу сайта.
В качестве цели для скрейпинга выберем сайт электронных книг litres.ru
Для поиска - выберем все книги, где автором является Булгаков, или те книги, которые написаны о нем самом.
Результатом работы долен быть CSV файл со следующей информацией о книге:
- Автор
- Название
- Формат (текст или аудио)
- Цена
- Рейтинг популярности
- Url книги в магазине
Для реализации задачи введем в строку поиска на первой старнице сайта слово Булгаков
После этого сайт будет генерировать список книг, которые попадают под нашу строку поиска. Причем вывод информации будет дозированным - поэтому нужно будет предусмотреть скроллинг страницы вниз, а так же - отслеживать кнопку "Ещё больше результатов поиска"".
После получения страницы со всеми результатами - мы сможем получить все ссылки на найденные книги.
Оформим все ссылки в список и отправим каждую на парсинг каждой страницы книги, с помощью BeautifulSoup. Тут мы получим интересующие нас данные.
После этого - запишем всю найденную информацию в CSV файл.
Трудности вызвало нахождение подходящего сайта для скрапинга (сайты магазинов OZON и Whildberries имеют защиту от скрапинга). Так же трудности возникли при скроллинге страницы (получилось не сразу).
Решение находится в файле main.py
Вывод программы:
C:\Work\python\Data\PyData_dz7\.venv\Scripts\python.exe C:\Work\python\Data\PyData_dz7\main.py
Начало работы
Найдено 627 ссылок
Обработка найденных книг: 100%|██████████| 627/627 [18:04<00:00, 1.73s/it]
Работа завершена.
Process finished with exit code 0
Файл с полученными данными: litres.csv
Часть CSV файла:
Author,Name,Format,Price,Rating,Url
Михаил Булгаков,Морфий и другие рассказы,аудиокнига,159.0,61.0,https://www.litres.ru/audiobook/mihail-bulgakov/morfiy-i-drugie-rasskazy-178526/
Анатолий Абрашкин; Галина Макарова,Булгаков и дьявол. Опасные тайны «Мастера и Маргариты»,аудиокнига,389.0,2.0,https://www.litres.ru/audiobook/anatoliy-abrashkin/bulgakov-i-dyavol-opasnye-tayny-mastera-i-margarity-69392836/
Анатолий Абрашкин; Галина Макарова,Булгаков и дьявол. Опасные тайны «Мастера и Маргариты»,текст,389.0,3.8,https://www.litres.ru/book/anatoliy-abrashkin/bulgakov-i-dyavol-opasnye-tayny-mastera-i-margarity-67259420/
Михаил Булгаков,Мастер и Маргарита,аудиокнига,344.0,368.0,https://www.litres.ru/audiobook/mihail-bulgakov/master-i-margarita-282202/
АНОНИМУС,Тайный дневник Михаила Булгакова,аудиокнига,399.0,165.0,https://www.litres.ru/audiobook/anonimys/taynyy-dnevnik-mihaila-bulgakova-67432011/
Михаил Афанасьевич Булгаков,Белая гвардия,аудиокнига,179.0,14.0,https://www.litres.ru/audiobook/mihail-afanasevich-bulgakov/belaya-gvardiya-66596774/
Михаил Булгаков,Мастер и Маргарита,текст,129.0,4.6,https://www.litres.ru/book/mihail-bulgakov/master-i-margarita-129095/
АНОНИМУС,Тайный дневник Михаила Булгакова,текст,279.0,3.8,https://www.litres.ru/book/anonimys/taynyy-dnevnik-mihaila-bulgakova-67429485/
Михаил Булгаков,Мастер и Маргарита (Аудиоспектакль),аудиокнига,339.0,82.0,https://www.litres.ru/audiobook/mihail-bulgakov/master-i-margarita-audiospektakl-67552434/