Парсинг любого веб-сайта с использованием Python в 7 шагов (фондовый рынок, социальные медиа и т. д.)
Table Of Content
- Что на самом деле означает парсинг веб-страниц?
- Какова роль HTML-кода в парсинге веб-страниц?
- Python коды для парсинга веб-сайтов
- Заключение
- ОБ АВТОРЕ
- КОНТАКТЫ:
- Подписаться на мой аккаунт в Medium: [https://aryanbajaj13.medium.com/subscribe](/subscribe)
- СВЯЗАТЬСЯ СО МНОЙ:
- [LinkedIn](https://www.linkedin.com/in/aryan-bajaj-b62364191)
- Несколько отчетов о качестве статьи
- [Проверка текстового спина](https://drive.google.com/file/d/16E1OmkHkhJtp6vUngYCJDpZo25ADbqw_/view?usp=sharing)
- [Отчет о плагиате](https://drive.google.com/file/d/1XAd9VmZxAMWZdW3oCa4VHpms0OwvjP7q/view?usp=sharing)
Если вы хотите узнать больше о парсинге веб-сайтов и о том, как парсить веб-сайт, этот статья расскажет вам о терминологии и инструкциях о том, как выполнять такие повторяющиеся задачи.
Что на самом деле означает парсинг веб-страниц?
Парсинг веб-страниц - это процесс извлечения данных с веб-сайтов. Он может использоваться для сбора данных с онлайн-источников, таких как интернет-магазины или платформы социальных сетей. Парсинг веб-страниц может выполняться вручную или автоматически. Python является популярным языком для парсинга веб-страниц, потому что он легко изучается и имеет много библиотек, которые можно использовать для парсинга.
Какова роль HTML-кода в парсинге веб-страниц?
Если вы хотите парсить веб-страницы с использованием Python, вам нужно знать несколько различных типов HTML-кода и как с ними работать. В этом блоге мы рассмотрим некоторые из наиболее распространенных типов HTML-кода и как вы можете использовать Python для взаимодействия с ними.
Первый тип кода, с которым вам нужно уметь работать, - это HTML-теги. Это коды, которые указывают вашему браузеру, как форматировать текст на веб-странице. Например, тег <p>
указывает вашему браузеру начать новый абзац, а тег <b>
указывает вашему браузеру сделать текст жирным. Полный список HTML-тегов и их использование можно найти на W3Schools.com.
Для взаимодействия с HTML-тегами с использованием Python вам сначала нужно импортировать библиотеку BeautifulSoup. Эта библиотека позволяет вам получать доступ и анализировать HTML-код с помощью Python. После импорта BeautifulSoup вы можете использовать его метод find() для поиска конкретных тегов на веб-странице.
Python - невероятно мощный инструмент для парсинга веб-страниц. После прочтения этого блога вы сможете парсить любой веб-сайт, который вам нужен!
Python коды для парсинга веб-сайтов
IDE: Visual Studio Code (VSC)
Первый и главный шаг - загрузить необходимые библиотеки:
import requests
Библиотека requests делает отправку запросов HTTP/1.1 чрезвычайно простой. Нет необходимости вручную добавлять строку запроса к вашим URL-адресам или кодировать данные PUT и POST в форму - просто используйте метод JSON! Requests - одна из самых популярных библиотек Python на сегодняшний день, с еженедельным количеством загрузок около 30 миллионов - согласно GitHub, Requests в настоящее время используется более чем в 1 000 000 проектов. Вы можете полностью положиться на этот код.
from bs4 import BeautifulSoup
Beautiful Soup - это пакет, который упрощает извлечение данных с веб-сайтов. Он работает поверх парсера HTML или XML, предоставляя питоновские идиомы для итерации, поиска и изменения дерева разбора.
import pandas as pd
Pandas - это библиотека Python, которая предоставляет быстрые, гибкие и выразительные структуры данных, предназначенные для упрощения работы с "реляционными" или "маркированными" данными. Она стремится быть основным высокоуровневым строительным блоком для проведения реалистического анализа данных в Python. Кроме того, она стремится стать самым мощным и адаптируемым инструментом для анализа и манипулирования данных с открытым исходным кодом, доступным на любом языке. Она уже на хорошем пути к достижению этой цели.
import lxml.html
lxml - это мощная питоновская привязка к библиотекам libxml2 и libxslt. Используя API ElementTree, она обеспечивает безопасный и простой доступ к этим библиотекам. Она значительно расширяет API ElementTree, включая поддержку XPath, RelaxNG, XML Schema, XSLT, C14N и многих других языков.
После подключения библиотек следующим шагом является получение URL-адреса любого веб-сайта. В этом блоге я буду использовать URL-адрес yahoo finance - https://finance.yahoo.com/trending-tickers
url = input("Введите URL-адрес для извлечения информации")
После ввода URL-адреса следующим шагом является проверка работоспособности URL-адреса.
Для проверки используйте следующий код:
r = requests.get(url)
print(r)
Это используется для получения статуса ответа от веб-сайта. Разные статусы ответа имеют разные значения.
Вывод:
Здесь вывод равен 200, что означает, что URL-адрес работает отлично и мы можем извлекать данные из него.
Наш код имеет статус 200, что означает, что мы готовы к работе.
Теперь мы будем использовать html.parse
soup = BeautifulSoup(r.content, 'html.parser')
Парсинг - это процесс разбиения фразы или набора слов на отдельные компоненты, включая определение цели или формы каждой части.
Техническое значение предлагает ту же идею.
Все языки программирования высокого уровня используют парсинг.
В этом примере мы будем использовать следующий код для извлечения таблицы.
Для извлечения таблицы мы будем использовать код:
tabela = soup.find(name='table')
Теперь мы извлекли таблицу, но она сохранена в переменной с именем tabela. Теперь мы будем использовать pandas для создания таблицы данных, чтобы при необходимости ее можно было дальше обрабатывать.
df = pd.read_html(str(tabela))[0].set_index('Name')
df.head()
Мы используем "[0]", потому что выводом будет список с одним элементом, и нам нужен этот элемент, а не список.
Вывод:
Фактические данные содержат изображения для Intraday, 52 Week range и Day Chart. На данный момент нам не нужны изображения в данных, так как мы не анализируем данные, мы только извлекаем информацию.
Поэтому мы удалим эти столбцы с помощью следующего кода:
data = df.drop(['Intraday High/Low', '52 Week Range', 'Day Chart'], axis=1)
Теперь самый ожидаемый шаг. Показ результатов.
Мы используем:
print("Извлеченное название страницы: ", soup.find('title').text)
print("Извлеченный заголовок страницы: ", soup.find('h1').text)
print("Извлеченная таблица данных: ")
data.head(10)
Вывод:
Вот и все.
Вот как можно извлекать данные с любого веб-сайта и создавать загружаемый файл.
Заключение
В этом блоге было показано, как парсить любой веб-сайт с помощью Python. Независимо от того, ищете ли вы данные по определенной теме или просто хотите загрузить все содержимое с веб-сайта, Python может помочь вам выполнить эту задачу быстро и легко. Так что в следующий раз, когда вам понадобится спарсить веб-сайт, не стесняйтесь попробовать Python.
Если у вас есть вопросы, оставьте комментарий или напишите мне по адресу aryanbajaj104@gmail.com
ОБ АВТОРЕ
Я недавно закончил BBA (БИЗНЕС-АНАЛИТИКА) в CHRIST University, Lavasa, Pune Campus.
Веб-сайт — acumenfinalysis.com (ПОСМОТРИТЕ ЭТО)
КОНТАКТЫ:
Если у вас есть вопросы или предложения о том, о чем должна быть моя следующая статья, напишите мне на aryanbajaj104@gmail.com.
Если вы хотите быть в курсе моих последних статей и проектов, подпишитесь на меня в Medium.