Python

Руководство для начинающих по парсингу веб-страниц с помощью Python и Beautiful soup

Руководство для начинающих по парсингу веб-страниц с помощью Python и Beautiful soup

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

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

Интеллектуальный анализ данных с помощью Python

Чтобы помочь тем из вас, кто плохо знаком со сбором данных, мы подготовили это руководство, в котором мы покажем, как очистить данные из Интернета с помощью Python и Beautiful soup Library.

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

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

Установка и подготовка библиотек

Теперь мы собираемся использовать две библиотеки, которые мы собираемся использовать: библиотеку запросов python для загрузки содержимого с веб-страниц и библиотеку Beautiful Soup для фактического парсинга процесса. Заметьте, существуют альтернативы BeautifulSoup, и если вы знакомы с одним из следующих, не стесняйтесь использовать их вместо них: Scrappy, Mechanize, Selenium, Portia, kimono и ParseHub.

Библиотеку запросов можно загрузить и установить с помощью команды pip, как показано ниже:

# запросов на установку pip3

Библиотека запросов должна быть установлена ​​на вашем устройстве. Точно так же скачайте BeautifulSoup:

# pip3 install beautifulsoup4

На этом наши библиотеки готовы к действию.

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

$ запросы на импорт
$ из bs4 импортировать BeautifulSoup как bs

Это добавляет запрошенное ключевое слово в пространство имен, сигнализируя Python о значении ключевого слова всякий раз, когда запрашивается его использование. То же самое происходит с ключевым словом bs, хотя здесь мы можем назначить более простое ключевое слово для BeautifulSoup.

веб-страница = запросы.получить (URL)

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

$ webcontent = веб-страница.содержание

Приведенная выше команда копирует содержимое веб-страницы и назначает его переменному веб-содержимому.

На этом мы закончили с библиотекой запросов. Все, что осталось сделать, это изменить параметры библиотеки запросов на параметры BeautifulSoup.

$ htmlcontent = bs (webcontent, «html.парсер ")

Это анализирует объект запроса и превращает его в читаемые объекты HTML.

После того, как все это позаботилось, мы можем перейти к собственно соскабливанию.

Веб-парсинг с помощью Python и BeautifulSoup

Давайте продолжим и посмотрим, как мы можем очистить HTML-объекты данных с помощью BeautifulSoup.

Чтобы проиллюстрировать пример, пока мы объясняем вещи, мы будем работать с этим фрагментом html:

Мы можем получить доступ к содержимому этого фрагмента с помощью BeautifulSoup и использовать его в переменной содержимого HTML, как показано ниже:


В приведенном выше коде выполняется поиск любых тегов с именем

, и показывает пользователю. Если он находит более одного тега, он показывает их по одному:

Технология

Чтобы одновременно сохранить теги с именем

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

Результат должен быть таким:

Чтобы вызвать одного из

теги, проиндексируйте список и выберите тот, который вам нужен.

Теперь посмотрим, как выбрать

теги с учетом их характеристик. Чтобы отделить
, нам понадобится
теги с атрибутом «Tech_head». Введите следующий код:


для div в супе.find_all ('div', attrs = 'class' = 'Tech_head'):

Это приносит

тег.

Вы получите:

Технология

Все без тегов.

Наконец, мы расскажем, как выбрать значение атрибута в теге. В коде должен быть такой тег:

леди

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

htmlcontent.find ("img") ["src"]

И на выходе получится:

"images_4 / a-beginners-guide-to-web-scraping-with-python-and-beautiful-soup".jpg "

О, мальчик, это определенно много работы!

Если вы чувствуете, что знакомы с Python или HTML недостаточно, или если вы просто перегружены парсингом веб-страниц, не волнуйтесь.

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

Последние мысли

Прежде чем мы подведем итоги, позвольте мне сказать вам вслух, если это еще не было самоочевидным; команды find (), find_all () - ваши лучшие друзья, когда вы собираетесь соскабливать с BeautifulSoup. Хотя есть еще кое-что, чтобы освоить очистку данных с помощью Python, этого руководства должно быть достаточно для тех из вас, кто только начинает.

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...

Свежие статьи об операционных системах. Множество интересных гайдов и полезных советов. Почувствуйте себя своим в мире современных технологий