Обмен технологиями

Scrapy пишет сканеры

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scrapy — это платформа Python для сканирования данных веб-сайтов и извлечения структурированной информации.

1. Введение в Scrapy

1. Двигатель
– Движок Scrapy является ядром управления потоком данных и запуска событий. Он управляет запросами, отправленными Пауком, и полученными ответами, а также обработкой элементов, сгенерированных Пауком. Двигатель является движущей силой работы Scrapy.

2.Планировщик
– Планировщик отвечает за получение запросов, отправленных механизмом, и постановку их в очередь в соответствии с определенными политиками (например, приоритетом, глубиной и т. д.). Когда механизму требуется новый запрос, планировщик берет запрос из очереди и возвращает его механизму. Это обеспечивает упорядоченную обработку запросов.

3. Загрузчик
– Загрузчик отвечает за загрузку веб-контента на основе запросов, отправленных движком Scrapy. Он использует протокол HTTP для связи с сервером веб-сайта и возвращает загруженное содержимое веб-страницы в движок Scrapy в качестве ответа. Загрузчик — это основной компонент Scrapy для получения данных веб-страницы.

4.Пауки
– Пауки – это компоненты Scrapy, используемые для определения логики сканирования и анализа содержимого веб-страниц.Они генерируют первоначальные запросы на основе определенных правил и обрабатывают ответ, возвращаемый загрузчиком, для извлечения необходимых данных (Элемент) или создания нового запроса (Запрос) для дальнейшего сканирования.

5.Товары Трубопроводы
– Конвейеры предметов отвечают за обработку предметов, извлеченных Spider. Они могут выполнять различные задачи, такие как очистка данных, проверка целостности данных и хранение данных в базах данных или файлах. Определив несколько конвейеров, данные можно обрабатывать гибко для удовлетворения различных потребностей.

6. Промежуточное ПО загрузчика
– Промежуточное программное обеспечение загрузчика расположено между движком Scrapy и загрузчиком и используется для обработки запросов и ответов. Они могут изменять запрос (например, добавлять заголовки запроса, устанавливать прокси и т. д.) или ответ (например, обработку сжатия, обработку перенаправления и т. д.), тем самым контролируя, как Scrapy взаимодействует с веб-сайтом. Промежуточное ПО — это важный механизм расширения функциональности Scrapy.

7. Промежуточное программное обеспечение Spider
– Промежуточное программное обеспечение Spider расположено между движком Scrapy и Spiders и используется для обработки ввода (т. е. ответа) и вывода (т. е. элементов и новых запросов) Spider. Они могут изменять или отклонять ответы, обрабатывать исключения и даже изменять или отклонять элементы и запросы, генерируемые «пауками». Промежуточное программное обеспечение Spider обеспечивает возможность вставки пользовательских функций во время выполнения Spider.

Поток данных между каждым компонентом показан на рисунке:
Вставьте сюда описание изображения

  • Начиная с исходного URL-адреса, Планировщик передаст его Загрузчику для загрузки.
  • После загрузки он будет передан на анализ в Spider.
  • Spider анализирует два типа результатов:
  • Одним из них являются ссылки, которые необходимо дополнительно сканировать, например ссылки «следующая страница», которые будут переданы обратно в планировщик;
  • Другой — это данные, которые необходимо сохранить, которые отправляются в Item Pipeline для постобработки (детальный анализ, фильтрация, хранение и т. д.).

2. Установите скрапи

pip install scrapy