Парсинг данных с использованием Scrapy
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/