CoderCastrov logo
CoderCastrov
Парсер

Парсинг веб-страниц

Парсинг веб-страниц
просмотров
3 мин чтение
#Парсер

Что такое парсинг веб-страниц?

Вероятно, многие из нас использовали комбинацию клавиш CTRL + C и CTRL + V на веб-странице, чтобы скопировать информацию в документ Word, таблицу Excel или сохранить изображение. Некоторые не знают, но этот процесс можно автоматизировать и сделать гораздо быстрее с помощью инструментов, называемых парсерами веб-страниц. Также известные как "краулеры", "харвестеры", "боты" и другие названия, парсинг - это техника, при помощи которой мы можем получать, обрабатывать и хранить информацию в большом объеме и за короткое время с веб-сайтов.

Но как это работает?

Парсеры используют структуру веб-страниц для идентификации и хранения информации.

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

Парсинг веб-страниц

Какие проблемы существуют при парсинге веб-страниц?

Для выполнения парсинга веб-страниц необходимо учитывать различные факторы.

Какая информация является релевантной и/или надежной?

Проверка важности и достоверности информации помогает избежать ресурсов, которые не будут полезны в будущем.

Можно ли получить информацию с помощью API?

Такие интерфейсы позволяют сэкономить время и усилия, которые мы бы потратили на парсинг, предоставляя нам необходимую информацию.

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

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

И, какую информацию мы можем парсить?

Любую.

Или так?

Любую информацию, которую можно найти на веб-странице, можно парсить, при соблюдении определенных условий.

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

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

Теперь практический пример

Предположим, мы просматриваем статью об актрисе Аманде Форман на Википедии и хотим сохранить ее информацию в каком-то виде, не копируя и не вставляя данные вручную.

Вот скрипт, который выполнит эту работу за нас!

Рабочий процесс очень прост:

1. Отправить запрос, чтобы получить полный контент веб-страницы.
2. Найти теги в исходном коде.
3. Извлечь содержимое этих тегов.

Прежде всего, нам понадобятся две библиотеки: BeautifulSoup и requests.

from bs4 import BeautifulSoup
import requests

Requests поможет нам отправить запрос на сайт для получения исходного кода, а BeautifulSoup разберет его и упростит навигацию по элементам HTML.

Для первого шага запрос будет выглядеть следующим образом:

response = requests.**get**('https://es.wikipedia.org/wiki/Amanda_Foreman').contentbody = **BeautifulSoup**(response, features='html.parser')

Для второго и третьего шагов мы можем использовать инструменты разработчика Google Chrome, чтобы легко увидеть, какие HTML-теги содержат нужную нам информацию. В этом случае нам нужно имя в качестве заголовка, подзаголовок "биография" и два абзаца с содержимым.

name = body.find('h1').text
header = body.find('h2').text
biography = body.findAll('p')

Вот результат, когда мы печатаем содержимое каждого из них:

Советы при парсинге

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