Введение
В настоящее время мир движется к науке о данных и машинному обучению. Топливом, которое требуется для этих полей, являются данные, и мы получаем данные из двух основных источников:
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. Это включает в себя несколько подэтапов:
- Импорт записи Excel (можно загрузить с помощью pip install xlwt)
2. Создайте книгу Excel с одной вкладкой
3. Запишите информацию заголовка на этот лист1
4. Теперь напишите информацию, которую мы извлекли с веб-страницы.
5. Сохраните Excel
Теперь давайте посмотрим, как выглядит наш Excel.
Поздравляем! Вы успешно очистили веб-страницу, чтобы извлечь ее полезное содержимое. Точно так же вы можете попробовать это на других веб-страницах.
Можно ли парсить любой веб-сайт???
Вы можете выполнять парсинг практически на любом веб-сайте, большинство веб-сайтов, как правило, используют блоки, чтобы предотвратить их парсинг. Вы можете узнать, есть ли эти блоки в файле robots.txt или в условиях обслуживания. Однако эти правила никоим образом не соблюдаются законом.