CoderCastrov logo
CoderCastrov
Питон

Парсинг с использованием библиотеки Scrapy в Python

Парсинг с использованием библиотеки Scrapy в Python
просмотров
2 мин чтение
#Питон
Scrapy

Мы продолжаем экспериментировать и изучать различные возможности самого популярного языка программирования в настоящее время.

На этот раз мы будем использовать Scrapy - высокоуровневую библиотеку для парсинга и скрапинга веб-страниц. Она может использоваться для широкого спектра задач, от сбора данных 👀 до мониторинга 📉 и автоматизированного тестирования 💻.

Строго говоря, я буду использовать пример от Ikuffo, я его не знаю, но он мне нравится, ЗДЕСЬ его репозиторий. В нем есть много примеров с различными сайтами, он мне очень помогает в изучении Python. Вся заслуга за это принадлежит ему 👏

Сначала давайте импортируем необходимые функции из scrapy, чтобы затем собрать данные в нужном нам формате.

Import

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

Articulo

Создаем наш класс MercadoLibre, который наследует класс CrawlSpider, и внутри него мы делаем следующие настройки:


custom_settings:

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

Эти настраиваемые параметры полезны для предотвращения блокировки со стороны сервера или для имитации более человеческого поведения при выполнении веб-запросов.

download_delay:

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

allowed_domain:

Это настройка в Scrapy, которая ограничивает область действия паука определенным набором доменов.

start_urls:

Это настройка в Scrapy, которая указывает начальные URL-адреса, на которые паук должен отправить веб-запросы, чтобы начать парсинг и извлечение информации.

rules:

Это настройка в Scrapy, которая определяет, как паук должен следовать по ссылкам и извлекать информацию с веб-страниц. Правила определяются как объекты Rule и указывают одно или несколько условий, которые должны быть выполнены, прежде чем паук будет следовать по ссылке и извлекать информацию с соответствующей веб-страницы.

Наконец, у нас есть две определенные функции, Limpiartext, которая будет очищать текст, полученный в результате парсинга, и parse_items, которая будет переходить по узлам HTML для извлечения информации из каждого тега. В последней функции мы используем ItemLoader, который является классом в Scrapy, используемым для загрузки и преобразования данных, извлеченных с веб-страниц, в объекты Item в Scrapy. add_xpath - это метод ItemLoader, который используется для извлечения данных с веб-страницы с использованием выражений XPath.

Чтобы запустить скрипт, мы переходим в корневую папку проекта и выполняем следующую команду:

scrapy runspider filename.py -o filename.csv -t csv

Это загрузит всю доступную информацию с сайта, учитывая настройки и ограничения, и сохранит ее в формате CSV.

Надеюсь, вам понравится, поздравляю!