CoderCastrov logo
CoderCastrov
Веб

Парсинг любого веб-сайта с использованием Python в 7 шагов (фондовый рынок, социальные медиа и т. д.)

Парсинг любого веб-сайта с использованием Python в 7 шагов (фондовый рынок, социальные медиа и т. д.)
просмотров
6 мин чтение
#Веб
Scrap any website in just 7 steps

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

Actual Data & Extracted Data Actual Data & Extracted Data

Что на самом деле означает парсинг веб-страниц?

Парсинг веб-страниц - это процесс извлечения данных с веб-сайтов. Он может использоваться для сбора данных с онлайн-источников, таких как интернет-магазины или платформы социальных сетей. Парсинг веб-страниц может выполняться вручную или автоматически. 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)

Step-1

Первый и главный шаг - загрузить необходимые библиотеки:

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 и многих других языков.

Step-2

После подключения библиотек следующим шагом является получение URL-адреса любого веб-сайта. В этом блоге я буду использовать URL-адрес yahoo finance - https://finance.yahoo.com/trending-tickers

url = input("Введите URL-адрес для извлечения информации")
Step-3

После ввода URL-адреса следующим шагом является проверка работоспособности URL-адреса.

Для проверки используйте следующий код:

r = requests.get(url)
print(r)

Это используется для получения статуса ответа от веб-сайта. Разные статусы ответа имеют разные значения.

Вывод:

HTTP status code List

Здесь вывод равен 200, что означает, что URL-адрес работает отлично и мы можем извлекать данные из него.

Complete HTTP status code List

Наш код имеет статус 200, что означает, что мы готовы к работе.

Step-4

Теперь мы будем использовать html.parse

soup = BeautifulSoup(r.content, 'html.parser')

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

Техническое значение предлагает ту же идею.

Все языки программирования высокого уровня используют парсинг.

Step-5

В этом примере мы будем использовать следующий код для извлечения таблицы.

Для извлечения таблицы мы будем использовать код:

tabela = soup.find(name='table')
Step-6

Теперь мы извлекли таблицу, но она сохранена в переменной с именем tabela. Теперь мы будем использовать pandas для создания таблицы данных, чтобы при необходимости ее можно было дальше обрабатывать.

df = pd.read_html(str(tabela))[0].set_index('Name')
df.head()

Мы используем "[0]", потому что выводом будет список с одним элементом, и нам нужен этот элемент, а не список.

Вывод:

Table Data

Фактические данные содержат изображения для Intraday, 52 Week range и Day Chart. На данный момент нам не нужны изображения в данных, так как мы не анализируем данные, мы только извлекаем информацию.

Поэтому мы удалим эти столбцы с помощью следующего кода:

data = df.drop(['Intraday High/Low', '52 Week Range', 'Day Chart'], axis=1)
Step-7

Теперь самый ожидаемый шаг. Показ результатов.

Мы используем:

print("Извлеченное название страницы: ", soup.find('title').text)
print("Извлеченный заголовок страницы: ", soup.find('h1').text)
print("Извлеченная таблица данных: ")
data.head(10)

Вывод:

Output

Вот и все.

Вот как можно извлекать данные с любого веб-сайта и создавать загружаемый файл.

Заключение

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

Если у вас есть вопросы, оставьте комментарий или напишите мне по адресу aryanbajaj104@gmail.com

ОБ АВТОРЕ

Я недавно закончил BBA (БИЗНЕС-АНАЛИТИКА) в CHRIST University, Lavasa, Pune Campus.

Веб-сайт — acumenfinalysis.com (ПОСМОТРИТЕ ЭТО)


КОНТАКТЫ:

Если у вас есть вопросы или предложения о том, о чем должна быть моя следующая статья, напишите мне на aryanbajaj104@gmail.com.

Если вы хотите быть в курсе моих последних статей и проектов, подпишитесь на меня в Medium.

Подписаться на мой аккаунт в Medium: https://aryanbajaj13.medium.com/subscribe

СВЯЗАТЬСЯ СО МНОЙ:

LinkedIn

Несколько отчетов о качестве статьи

Проверка текстового спина

Отчет о плагиате