Веб-соскоб делает его проще и быстрее, когда вам придется тянуть большое количество данных с веб-сайтов.
Что такое веб-соскреб?
Это автоматизированный метод, используемый для извлечения большого количества данных с веб-сайтов. Данные на веб-сайтах неструктурированы Поэтому веб-соскоб помогает собирать эти неструктурированные данные и хранить его в структурированной форме.
Применение веб-соскоба.
Списки работы : Детали, касающиеся рабочих мест, интервью собираются с разных веб-сайтов, а затем перечислены в одном месте, чтобы он легко доступен для пользователя.
Социальные СМИ соскабливают : Используется для сбора данных с веб-сайтов в социальных сетях, таких как Twitter, чтобы узнать, что является трендой.
Сбор адрес электронной почты : Компании, которые используют электронную почту в качестве среды для маркетинга, используйте Web Scraping, чтобы собрать идентификатор электронной почты, а затем отправлять объемные электронные письма.
Цены электронной коммерции : продавцы электронной коммерции используют веб-соскоб для сбора данных из интернет-магазинов и используют его для сравнения цен на продукты.
Академические исследования : Поскольку данные являются неотъемлемой частью любых исследований, будь то академический, маркетинг или научный Веб-соскоб помогает вам с легкостью собрать структурированные данные из нескольких источников в Интернете.
Преимущества использования инструментов Scraping Python Web.
- Синтаксии Python просты, чистые и легко читают. Знакомьтесь, что кто-либо, включая начинающих, может легко использовать их для записи соскобных сценариев.
- Сценарии, написанные в Python, в целом легко и быстро писать, требующие только нескольких строк кода.
- Инструменты Python, такие как красивый суп и сценария, могут быть легко использованы для разработки высокопроизводительных, очень эффективных и легко отладки веб-скребков.
- Поскольку Python – это все вокруг языка, его инструменты могут построить очень гибкий веб-скребок, который делает удаление данных, импорт, разбор и визуализацию.
Популярные библиотеки Python для проведения веб-соска.
Запросы Это библиотека Python, используемая для создания различных типов HTTP-запросов, таких как Get, Post.
Beautifulsoup Это наиболее широко используемая библиотека Python для веб-соскоба, которая создает дерево разбора для анализа HTML и XML-документов. Красивый суп автоматически преобразует входящие документы в Unicode и исходящие документы в UTF-8.
Селен Это библиотека Python, изначально сделанная для автоматического тестирования веб-приложений. Это веб-драйвер, сделанный для рендеринга веб-страниц, а также для скрепления динамически населенных веб-страниц.
lxml Это высокая производительность, восстанавливающе быстрое, продуктивное HTML HTML и XML Parsing Phython Biblic. Хорошо работает при откине больших наборов данных, а также позволяет извлечь данные из HTML с помощью селекторов XPath и CSS.
Скапировка Это не просто библиотека, а веб-структура Scraping. Струпкость обеспечивает паутину, которые могут ползать несколько веб-сайтов и извлекать данные.
- В этой статье мы будем использовать Beautifulsoup и просим библиотеки для Scrape.
Для извлечения данных с использованием BeautifulSoup и запрашивает библиотеки следующих шагов:
Отправка запроса HTTP Get на URL веб-страницы, которую вы хотите соскребить, что ответит с содержимым HTML с помощью библиотеки запроса Python.
Получение и расстановка данных с использованием красивой конструкции и поддерживает данные в некоторой структуре данных, таких как Dict или список.
Анализируя теги HTML и их атрибуты, такие как класс, идентификатор и другие атрибуты тега HTML. Кроме того, выявление ваших HTML-тегов, где живет ваш контент.
Хранение данных в требуемом формате, например, CSV, XLSX или JSON
Пример соскоба веб.
Понимание и проверка данных
Осмотр страницы, которую вы хотите SCRAGE – это самая важная работа в веб-соскоре, не зная структуру веб-страницы, очень трудно получить необходимую информацию.
В этой статье мы будем доступны данные для данных Здесь
Чтобы проверить данные, которые вы хотите соскребать, щелкните правой кнопкой мыши на этом тексте и нажмите «Осмотреть», чтобы проверить теги и атрибуты элемента.
Установите основные библиотеки Python
pip install requests beautifulsoup4
Импорт основных библиотек
Импортируйте библиотеку «Запрос», чтобы получить содержимое страницы и BS4 (красивый суп) для расстановки контента HTML-страницы.
import requests from bs4 import BeautifulSoup
Сбор и расстановка веб-страницы
На следующем шаге мы сделаем запрос на получение URL-адреса и создадим объект дерева разбора (суп) с помощью BoseSoup и Python встроенного анализатора «LXML».
URL="https://www.pythontutorial.net/" # Make a GET request to fetch the raw HTML content r=requests.get(URL).text # Parse the html content soup= BeautifulSoup(r,'lxml') print(soup.prettify())
И наш выход будет:
Мы также можем распечатать некоторую основную информацию от нее:
Распечатайте название веб-страницы.
print(soup.title.text)
Выход
Python Tutorial - Learn Python Programming from Scratch
Печать ссылок на странице вместе со своими атрибутами, такими как HREF, заголовок и его внутренний текст.
for link in soup.find_all("a"): print("Inner Text: {}".format(link.text)) print("Title: {}".format(link.get("title"))) print("href: {}".format(link.get("href")))
Образец вывода.
Найти все экземпляры тега сразу.
soup.find_all('p')
Образец вывода
Поиск тегов по классу и удостоверение личности
Мы можем использовать метод find_all для поиска элементов по классу или по идентификатору. В этом случае мы будем искать какой-либо бирку H, который имеет класс intron_title:
soup.find_all('h', class_='entry_title')
В поисках элементов по ID:
soup.find_all(id="page")
Мы также можем искать предметы с использованием селекторов CSS. Пример:
- P A – Находит все теги внутри метки P.
- кузов p a – Находит все теги внутри метки P внутри теги тела.
- HTML Body – Находит все теги тела внутри тега HTML.
Теперь используйте селекторы CSS, чтобы найти все теги P на нашей странице, которые находятся внутри DIV;
soup.select("div p")
Выход
Теперь мы поняли основы Scraping Python Web.
Оригинал: “https://dev.to/phylis/web-scrapping-101-introduction-to-web-scrapping-in-python-56cn”