CoderCastrov logo
CoderCastrov
Парсер

Парсинг новостей, статей и другого контента с использованием Python

Парсинг новостей, статей и другого контента с использованием Python
просмотров
6 мин чтение
#Парсер

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

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

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

Я действительно ценю его работы и рекомендую вам ознакомиться с его работами, перейдя по ССЫЛКЕ. Если вы хотите работать с парсером высокого качества с крепкой поддержкой, просто НАЖМИТЕ ЗДЕСЬ.

Я надеюсь, что вы получите лучшую поддержку для своего проекта.

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

Парсинг новостей, статей или блогов и многое другое...

News article web scraping

В этом посте рассмотрим парсинг новостных статей и сайтов электронной коммерции. Мы создадим скрипт, который будет парсить последние новостные статьи с разных веб-сайтов и сохранять информацию в файл CSV или Excel. Рассмотрим следующие шаги:

1. Введение в веб-страницы и HTML

2. Парсинг с использованием BeautifulSoup4 и Python

3. Парсинг с использованием Selenium и Python

1. Введение в веб-страницы и HTML

Если мы хотим извлечь новостные статьи (или, на самом деле, любой другой текст) с веб-сайта, первый шаг - понять, как работает веб-сайт. Когда мы ищем веб-сайт или что-либо в веб-браузере (например, Google Chrome, Firefox, Torch, Internet Explorer и т. д.) и получаем доступ к нему, мы видим три различные комбинации технологий.

· HTML (Hyper Text Markup Language): HTML описывает структуру веб-страницы и состоит из серии элементов. Элементы представлены тегами. Некоторые важные теги: "заголовок", "абзац", "таблица" и т. д. Однако браузер не отображает теги HTML.

· CSS (Cascading Style Sheets): CSS определяет, как элементы HTML должны отображаться перед пользователем, на экране или в других медиа. CSS позволяет сэкономить много работы, и внешние таблицы стилей хранятся в файлах CSS.

· JavaScript: JavaScript - это легкий, интерпретируемый язык программирования с функциями. JavaScript может быть написан прямо в HTML веб-страницы и выполняться автоматически при загрузке страницы.

Три важных аспекта веб-сайта. HTML и CSS не являются языками программирования. Они используются в качестве тегов. Но JavaScript - это язык программирования высокого уровня.

HTML, CSS, JavaScript

С другой стороны, если мы хотим получить доступ к веб-сайту, нам нужны дополнительные вещи, такие как: веб-сервер, действительный домен и т. д.

Если мы удалим теги HTML и CSS с веб-сайта, мы не увидим никакого текста, изображений и т. д. Поэтому для выполнения парсинга веб-страниц нам нужно хорошо разбираться в HTML и CSS. HTML состоит из нескольких элементов, о которых мы уже говорили ранее. Начальный тег обозначается (< >), а конечный тег - (</>). Например, тег <p> означает, что он содержит несколько строк текста или абзац </p>. Все элементы находятся между тегами (<html>, </html>).

На этой картинке мы видим, как начинается HTML-код. Мы можем добавить заголовок страницы с помощью тега title. Все основные элементы находятся внутри тега body. Тег <h1> указывает на самый крупный размер текста. В HTML доступно шесть видов тегов <h>.

Пример HTML-кода

Думаю, мы достаточно хорошо представили себе эти вещи. Теперь мы готовы к парсингу.

2. Парсинг веб-страниц с использованием BeautifulSoup4 в python

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

BeautifulSoup4 предоставляет два парсера: html.parser и lxml.parser. Эти парсеры позволяют получить доступ к элементам веб-страницы.

Сначала вам нужно установить программное обеспечение Python (версии 2 или 3). Я рекомендую использовать версию Python3. (pip для версии Python2 и pip3 для версии Python3)

Теперь, чтобы установить BeautifulSoup4, введите следующий код в вашу дистрибуцию Python:

! pip3 install beautifulsoup4

Чтобы предоставить BeautifulSoup HTML-код любой страницы, нам также понадобится импортировать модуль requests. Мы будем использовать модуль requests для получения HTML-кода со страницы.

! pip3 install requests

ü find_all (тег элемента, атрибут): Эта функция помогает нам найти HTML-элемент на веб-странице с использованием тега и атрибутов.

ü get_text (): Эта команда позволяет извлечь текст.

Теперь нам нужно пройти через HTML-код нашей веб-страницы. Мы должны использовать инструмент "Инспектор элементов" (Ctrl+Shift+I), чтобы найти новостную статью на странице. После этого мы также можем использовать Ctrl+F, чтобы найти точный код, который нам поможет.

Как мы можем перейти к точному местоположению, которое мы видели на изображении?

Чтобы извлечь текст, нам нужно написать следующие команды:

Импорт необходимых пакетов

import requests

from bs4 import BeautifulSoup

Для использования модуля requests мы можем получить HTML-контент.

url = "https://www.basketball-reference.com/players/"

res = requests.get(url + ch)

После этого нам нужно создать суп, чтобы BeautifulSoup мог работать:

soup = BeautifulSoup(res.text, 'html.parser')

Наконец, чтобы найти элементы, мы должны использовать:

Data = soup.find_all('table', {'id': 'players'}):

Это вернет список каждого элемента новостной статьи.

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

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

На этом изображении мы сохраняем наши данные в CSV-файле. Данные будут сохранены в формате таблицы. Мы также можем использовать имена строк и столбцов, если хотим.

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

3. Парсинг веб-страниц с использованием Selenium и Python

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

Больше информации скоро появится...