Введение

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

1) Использование API:

Эти API доступны на различных веб-сайтах, что позволяет извлекать данные. Пример: API графиков Facebook

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

В этом методе веб-страница очищается для извлечения полезной информации. Этот метод называется веб-скрапингом, веб-сбором или извлечением веб-данных.

Шаги, связанные с парсингом веб-страниц:

Шаг 1:

Установите необходимую стороннюю библиотеку. Это можно сделать с помощью следующих команд

pip install requestspip install html5libpip install bs4

Шаг 2:

Импорт библиотеки в проект python или блокнот

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

Шаг 3.

Отправка HTTP-запроса на URL-адрес веб-страницы, для которой вы хотите получить доступ к данным. На этом этапе сервер ответит html-контентом веб-страницы, который можно использовать для извлечения данных.

Отправка http-запроса выполняется в python с использованием библиотеки запросов.

Давайте используем пример веб-сайта, чтобы увидеть, как это сделать.

Шаг 4:

Пока все довольно просто. Теперь давайте сделаем это немного интереснее, проанализировав этот html-ответ с помощью BeautifulSoup. Эта библиотека построена на основе различных библиотек, таких как html5lib, lxml, html.parser и т. д.

Давайте используем это в нашем коде

Здесь,

r.content: необработанный HTML-контент.

html5lib : указание парсера HTML.

soup.prettify(): дает визуальное представление дерева синтаксического анализа, созданного из необработанного содержимого HTML.

Шаг 5.

Теперь давайте найдем и проанализируем это дерево, которое мы получили в нашей переменной супа. Если вы посмотрите внимательно, нас интересует контент, в результатах которого есть div с идентификатором.

Мы можем извлечь этот div с помощью строки ниже

Фу! теперь мы очень близки к нашим данным. Давайте напишем цикл над этим div, чтобы найти все «td», с помощью которых мы можем получить полезную информацию.

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

Шаг 6:

Последний шаг! Закинул эти данные в excel. Это включает в себя несколько подэтапов:

  1. Импорт записи Excel (можно загрузить с помощью pip install xlwt)

2. Создайте книгу Excel с одной вкладкой

3. Запишите информацию заголовка на этот лист1

4. Теперь напишите информацию, которую мы извлекли с веб-страницы.

5. Сохраните Excel

Теперь давайте посмотрим, как выглядит наш Excel.

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

Можно ли парсить любой веб-сайт???

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