Yahoo Finance — одна из самых популярных платформ для отслеживания цен акций, финансовых новостей и данных компаний. С более чем 335 миллионами пользователей в месяц, Yahoo Finance — ценный источник структурированной и… финансовые данные в реальном времени.
В этом руководстве вы узнаете, как извлекать данные из Yahoo Finance с помощью Python, а также узнаете о лучших методах, которые позволят вам избежать мер борьбы с ботами.
TL; DR:
- Узнайте, как выполнить скрапинг Yahoo Finance с помощью Python и Crawlbase Crawling API.
- Охватывает извлечение цены акций, изменение цены и временных меток рынка.
- Включает полный пример кода и Crawlbase советы по интеграции.
Вот короткое видео о том, как извлечь финансовые данные из Yahoo Finance:
Содержание
1. Необходимые инструменты (Python + Crawlbase)
2. Пошаговое руководство: как скопировать данные с веб-страницы Yahoo Finance
3. Извлечение заголовка страницы с помощью BeautifulSoup
4. Получение цен на акции от Yahoo Finance
5. Анализ индикаторов изменения цены (вверх/вниз)
6. Получение метки времени рынка
7. Полный код Python: Yahoo Finance Scraper
8. Заключительные мысли и дальнейшие шаги
9. Часто задаваемые вопросы (FAQ)
1. Инструменты, необходимые для парсинга Yahoo Finance (Python + Crawlbase)
Как только Питон После установки и выбора предпочитаемой IDE, пришло время установить инструменты, необходимые для парсинга Yahoo Finance. Следующие команды установят Crawlbase Библиотека Python и Beautifulsoup4
Чтобы установить пакет, просто откройте командную строку (Windows) или терминал (macOS/Linux), создайте каталог, в котором вы хотите сохранить свой код Python, и используйте команду pip для установки пакетов, как показано ниже:
1 | pip установить crawlbase |
2. Пошаговое руководство: как скопировать данные с веб-страницы Yahoo Finance
Теперь пришло время написать наш код. Сначала мы напишем код для сканирования полного исходного кода HTML нашей целевой веб-страницы. На этом этапе мы будем использовать Crawlbase пакет.
Начните с открытия вашего любимого текстового редактора или IDE и создайте новый файл Python. Для целей этого руководства давайте создадим файл с именем scraper.py с вашего терминала/консоли:
1 | сенсорный скребок.py |
Для демонстрации мы будем использовать это Финансовая страница Yahoo.

Скопируйте полный код ниже и прочитайте пояснения, чтобы понять каждый раздел:
1 | от база сканирования Импортировать CrawlingAPI |
Давайте попробуем выполнить код. Вы можете снова зайти в консоль и ввести команду ниже:
1 | питон scraper.py |
В случае успеха вы получите ответ, подобный этому:

3. Извлечение заголовка страницы с помощью BeautifulSoup
В этом разделе мы сосредоточимся на извлечении содержимого исходного кода HTML, который мы получили при сканировании веб-страницы Yahoo Finance. Мы должны начать с вызова библиотеки Beautiful Soup для разбора HTML и представления его в формате JSON.
1 | из базы данных импорта CrawlingAPI |
Далее нам нужно будет найти данные, которые мы хотим извлечь. Найдите название компании или Название Сначала вам придется проверить структуру веб-страницы с помощью инструментов разработчика браузера или просмотреть исходный код страницы, выделив заголовок, щелкнув правой кнопкой мыши и выбрав опцию «Проверить».

Как только у вас есть строка для элемента заголовка, просто используйте селектор BeautifulSoup для извлечения данных. Вот как вы можете написать код:
1 | защиту scrape_data(ответ): |
Код начинается с попытки разобрать HTML-контент веб-страницы. Он использует конструктор BeautifulSoup, передавая HTML-контент (response['body']) и тип парсера ('html.parser').
Внутри try блок, функция пытается извлечь определенные данные из проанализированного HTML. Она пытается найти <h1> элемент с именем класса 'svelte-ufs8hf' используя select_one метод предоставлен Beautiful Soup.
Как только элемент найден, он извлекает текстовое содержимое <h1> элемент и присваивает его переменной title. Если <h1> элемент не найден, title на None.
В случае ошибки он выводит сообщение об ошибке на консоль и возвращает пустой словарь в качестве запасного варианта.
4. Получение цен на акции от Yahoo Finance
Следующие соответствующие данные, которые мы хотим извлечь для веб-страницы Yahoo Finance, — это последняя торговая цена финансового актива или просто Цена. Начните с выделения цены и ее проверки, как показано на изображении ниже:

Напишите код для извлечения элемента Price:
1 | защиту scrape_data(ответ): |
Как и код выше, это позволит нам извлечь определенный элемент из полного исходного HTML-кода и удалить все нерелевантные данные для нашего проекта.
5. Анализ индикаторов изменения цены (вверх/вниз)
Нашими следующими целевыми данными будут изменения цены. Это значение представляет собой изменение цены финансового актива, например, акции, по сравнению с предыдущим закрытием.

Опять же, просто выделите цену изменения и получите соответствующий селектор для элемента.
1 | защиту scrape_data(ответ): |
6. Получение метки времени рынка
Наконец, мы также извлечем Market Timestamp. Он относится к конкретной дате, на которую рассчитываются цены. Например, если вы видите «At close» с последующей датой «April 19, 2024», это означает, что предоставленная информация относится к цене закрытия актива 19 апреля 2024.
Также обратите внимание, что если отображается «Открытие рынка», это означает, что отображаемая цена — это цена, по которой актив начал торговаться при открытии рынка.

Выделите данные и перейдите к проверке, чтобы получить связанный селектор. Давайте напишем код еще раз, чтобы извлечь данные с помощью BeautifulSoup.
1 | защиту scrape_data(ответ): |
7. Полный код Python: Yahoo Finance Scraper
После написания селектора для каждого из наших целевых данных пришло время скомпилировать код и привести наш скрапер в действие. Для вашего удобства мы скомпилировали код ниже и добавили несколько строк, чтобы сохранить ответ в виде файла JSON. Не стесняйтесь копировать и сохранять его на локальном компьютере:
1 | от база сканирования Импортировать CrawlingAPI |
Выполните код, чтобы получить ответ. Используйте команду ниже:
1 | питон scraper.py |
В случае успеха должен быть получен аналогичный результат, показанный ниже:
1 | { |
Вот он. Ответ в формате JSON позволит вам эффективно использовать данные. Используйте его для анализа фондового рынка, сравнения цен и т. д. Выбор за вами.
8. Заключительные мысли и дальнейшие шаги
Вы изучили подробное руководство по эффективному созданию парсера для Yahoo Finance с использованием Python. Crawlbase API и BeautifulSoup. Вы узнали, как извлекать чистые и полезные данные из веб-страниц и настраивать их для своих проектов или анализа.
Код, представленный в этом руководстве, доступен всем заинтересованным. Мы призываем вас активно взаимодействовать с ним, поскольку он может быть полезен всем, включая разработчиков всех видов, специалистов по данным или даже любопытных учеников. Вы можете изменять и адаптировать код в соответствии со своими конкретными требованиями. Настройте его для автоматизации, извлечения данных с других веб-сайтов, извлечения различных типов информации или добавления новых функций.
Мы рекомендуем интеграцию с Crawlbase Crawling API, который управляет ротацией IP-адресов, CAPTCHA и рендерингом.
9. Часто задаваемые вопросы (FAQ)
Законен ли сбор данных из Yahoo Finance?
Да, веб-скрапинг сам по себе не является незаконным, но важно ознакомиться с условиями обслуживания веб-сайта, который вы скрейпите, и соблюдать их. Yahoo Finance, как и многие другие веб-сайты, может иметь особые условия и положения относительно веб-скрейпинга. Обязательно ознакомьтесь с этими условиями, чтобы избежать любых юридических проблем.
Как извлечь данные из Yahoo Finance?
- Определите данные для сбора и проверки веб-сайта.
- Выберите инструмент или библиотеку для извлечения данных с веб-страниц.
- Используйте выбранный инструмент для сбора данных, чтобы отправить HTTP-запрос GET на целевой URL.
- Проанализируйте HTML-содержимое веб-страницы, используя возможности анализа инструмента скрапинга.
- В зависимости от ваших потребностей вы можете сохранить собранные данные в файле, базе данных или структуре данных для последующего анализа или использовать их непосредственно в своем приложении.
Какие инструменты и библиотеки можно использовать для парсинга Yahoo Finance?
Для веб-скрейпинга в Python доступно несколько инструментов и библиотек, включая BeautifulSoup, Scrapy и Selenium. Кроме того, вы можете использовать API, такие как Crawlbase API для более легкого доступа к веб-данным. Выберите инструмент или библиотеку, которая лучше всего соответствует требованиям вашего проекта и технической экспертизе.











