Поиск по сайту:

Извлеките заголовок с веб-страницы с помощью Python


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

Извлечение заголовка с веб-страницы

Способ 1. Использование библиотек Request и Beautiful Soup

Мы можем использовать библиотеки Request и Beautiful Soup Python для извлечения заголовков с веб-страницы. Библиотека запросов используется для отправки HTTP-запросов на веб-сайт и получения ответа. Затем мы используем объект ответа для извлечения HTML-содержимого веб-страницы.

Пример

В приведенном ниже примере мы извлекаем заголовок домашней страницы Википедии. Мы отправляем запрос GET на URL-адрес страницы Википедии, используя библиотеку запросов, и сохраняем объект ответа в переменной ответа.

Затем мы можем использовать объект Beautiful Soup для анализа HTML-содержимого, полученного в объекте ответа, и извлечь тег заголовка веб-страницы с помощью атрибута soup.title. Затем мы можем извлечь атрибут строки и сохранить его в переменной заголовка.

import requests
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
response = requests.get(url)

soup = BeautifulSoup(response.content, 'html.parser')
title = soup.title.string

print(title)

Выход

Wikipedia

Метод 2: извлечение заголовка с помощью urllib и BeautifulSoup

Методы urllib и BeautifulSoup используются для извлечения заголовка с веб-страницы путем открытия URL-адреса и получения HTML-содержимого веб-страницы с помощью библиотеки urllib. Объект BeautifulSoup создается с использованием содержимого HTML, а тег заголовка веб-страницы можно извлечь с помощью атрибутаsoup.title.

Пример

В приведенном ниже примере мы используем библиотеку urllib, чтобы открыть URL-адрес и получить HTML-содержимое веб-страницы. Затем мы создаем объект BeautifulSoup с HTML-содержимым веб-страницы с помощью анализатора 'html.parser'.

Затем мы можем извлечь тег заголовка веб-страницы, используя атрибут 'soup.title'. Наконец, мы извлекаем строковое содержимое тега title с помощью атрибута string и сохраняем его в переменной title. Затем мы выводим заголовок веб-страницы на консоль.

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
html_page = urlopen(url)
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

Выход

Wikipedia

Метод 3: извлечение заголовка с помощью Selenium и BeautifulSoup

Метод selenium и BeautifulSoup используется для извлечения заголовка с веб-страницы с помощью библиотеки Selenium для открытия URL-адреса и получения HTML-содержимого веб-страницы. Веб-драйвер Chrome создается и используется для перехода на веб-страницу. HTML-содержимое веб-страницы извлекается с использованием атрибута page_source веб-драйвера. Объект BeautifulSoup создается с использованием содержимого HTML, а тег заголовка веб-страницы можно извлечь с помощью атрибутаsoup.title.

Пример

В приведенном ниже примере мы используем библиотеку Selenium, чтобы открыть URL-адрес и получить HTML-содержимое веб-страницы. Мы создаем веб-драйвер Chrome и используем его для перехода на веб-страницу. Затем мы извлекаем HTML-содержимое веб-страницы, используя атрибут page_source веб-драйвера.

Мы создаем объект BeautifulSoup с HTML-содержимым веб-страницы, используя парсер html.parser. Затем мы можем извлечь тег заголовка веб-страницы, используя атрибутsoup.title. Наконец, мы извлекаем строковое содержимое тега title с помощью атрибута string и сохраняем его в переменной title. Затем мы выводим заголовок веб-страницы на консоль.

from selenium import webdriver
from bs4 import BeautifulSoup

url = 'https://www.wikipedia.org/'
driver = webdriver.Chrome()
driver.get(url)

html_page = driver.page_source
soup = BeautifulSoup(html_page, 'html.parser')
title = soup.title.string

print(title)

driver.quit()

Выход

Wikipedia

Способ 4: извлечение заголовка с помощью регулярных выражений

Метод регулярных выражений используется для извлечения заголовка с веб-страницы путем отправки запроса GET на URL-адрес с использованием библиотеки запросов и сохранения объекта ответа. Затем HTML-содержимое веб-страницы декодируется и сохраняется в переменной. Шаблон регулярного выражения определяется в соответствии с тегом заголовка веб-страницы. Метод «поиска» шаблона регулярного выражения используется для поиска первого совпадения шаблона в HTML-содержимом веб-страницы. Строковое содержимое первой совпавшей группы можно извлечь с помощью метода group(1) и получить заголовок веб-страницы.

Пример

В приведенном ниже примере мы используем регулярные выражения для извлечения заголовка веб-страницы. Мы отправляем запрос GET на URL-адрес, используя библиотеку запросов, и сохраняем объект ответа в переменной «ответ».

Затем мы декодируем HTML-содержимое веб-страницы, используя кодировку «utf-8», и сохраняем его в переменной «html_content». Мы определяем шаблон регулярного выражения, соответствующий тегу заголовка веб-страницы.

Мы используем метод «поиска» шаблона регулярного выражения, чтобы найти первое совпадение шаблона в HTML-содержимом веб-страницы. Мы извлекаем строковое содержимое первой совпавшей группы с помощью метода group(1) и сохраняем его в переменной title. Затем мы выводим заголовок веб-страницы на консоль.

import requests

url = 'https://www.wikipedia.org/'
response = requests.get(url)
html_content = response.content.decode('utf-8')

title_pattern = re.compile('(.+?)')
match = title_pattern.search(html_content)
title = match.group(1)

print(title)

Выход

Wikipedia

Заключение

В этой статье мы обсудили процесс извлечения заголовка с веб-страницы с помощью запросов и библиотеки Beautiful Soup на Python. Библиотека запросов используется для отправки HTTP-запросов на URL-адрес веб-сайта и получения HTML-содержимого в качестве ответа. Затем библиотека Beautiful Soup используется для анализа содержимого HTML и извлечения необходимого заголовка из содержимого HTML.

Статьи по данной тематике: