CoderCastrov logo
CoderCastrov
Парсинг данных

Парсинг данных с использованием Scrapy

Парсинг данных с использованием Scrapy
просмотров
3 мин чтение
#Парсинг данных
Table Of Content

    Сегодня я расскажу о очень интересной теме.

    Парсинг данных с использованием Scrapy.

    Так что наша задача - извлечь данные, связанные с гонками Формулы 1, проведенными в период с 2010 по 2020 год.

    Вы можете посмотреть на веб-сайт - https://www.formula1.com/en/results.html/2020/races.html

    Итак, сначала нам нужно установить Scrapy на вашу систему.

    Используйте

    !pip install Scrapy

    чтобы установить его, после чего вы можете продолжить.

    Теперь вам нужно запустить проект, и команда для этого -

    scrapy startproject <название_проекта>

    Перейдите внутрь каталога и создайте новый файл внутри каталога spiders.

    Например, Link.py

    Как только у вас есть файл, вы можете начать писать код.

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

    Итак,

    Что-то вроде этого появится перед вами. Вы можете заметить, что у нас есть несколько гонок каждый год, и если вы нажмете на любую конкретную гонку, вы получите что-то вроде этого.

    Примечание - нам нужны эти данные для каждой гонки в период с 2010 по 2020 год.

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

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

    Позвольте мне пройти с вами по коду.

    Сначала вам нужно импортировать Scrapy и дать имя классу и переменной имени. Обратите внимание, что это имя будет использоваться при запуске вашего кода из командной строки.

    Теперь у вас есть набор URL-адресов, которые я вручную спарсил из-за ограничений сайта.

    После извлечения 10 ссылок я помещаю их в urls. Затем я начинаю цикл и спарсиваю одну страницу за раз.

    Мы определили функцию parse, которая помогает нам извлекать данные, поэтому, используя Selectors, мы извлекли ссылки на каждую страницу гонки, которая произошла между 2010 и 2020 годами.

    Теперь после кода вам нужно выполнить эту команду, чтобы спарсить ссылки.

    scrapy crawl Link -o links.json

    эта команда спарсит ваши данные и также сохранит их в формате json.

    После получения всех ссылок теперь пришло время извлечь фактические данные.

    Снова, используя Selectors, вы можете выбрать конкретные данные, которые вы хотите спарсить, и сохранить данные на вашем компьютере.

    scrapy crawl <имя> -o <имя_1>.json

    Это спарсит наши целевые данные.

    Примечание -

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

    Ура! Вы только что спарсили и сохранили нужные вам данные.

    Итак, в этой статье я рассказал вам о парсинге веб-страниц с использованием Scrapy.

    Если вы не поняли это, пожалуйста, не расстраивайтесь, вам нужно попробовать свои силы на простом веб-сайте сначала, а затем вернуться и вы все поймете. В этом примере мы сначала спарсили ссылки, а затем спарсили данные на этих страницах.

    Я постарался объяснить парсинг веб-страниц в краткой и короткой статье, если у вас есть дополнительные вопросы, вы можете обратиться к документации Scrapy.

    Спасибо за прочтение, и если вам понравилась эта статья, вы можете меня поддержать некоторыми 👏.

    Ссылка на документацию - https://docs.scrapy.org/en/latest/