Создание парсера для извлечения заголовков новостей и текста из статей на сайте может быть увлекательным проектом. Давайте рассмотрим, как можно реализовать такой парсер на Python, используя библиотеки requests и BeautifulSoup. Вот пример кода:
import requests
from bs4 import BeautifulSoup
def get_news(url):
# Отправляем GET-запрос к сайту
response = requests.get(url)
# Проверяем, успешен ли запрос
if response.status_code == 200:
# Парсим содержимое страницы
soup = BeautifulSoup(response.content, 'html.parser')
# Находим теги с заголовками
headlines = soup.find_all('h2', class_='list-item__title') # Проверьте, какой класс используется на сайте
news_list = []
# Проходим по всем заголовкам
for headline in headlines:
title = headline.get_text(strip=True)
link = headline.find('a')['href']
# Получаем текст статьи по ссылке
article_response = requests.get(link)
if article_response.status_code == 200:
article_soup = BeautifulSoup(article_response.content, 'html.parser')
article_text = article_soup.get_text()
news_list.append({'title': title, 'text': article_text})
else:
print(f"Не удалось получить статью по ссылке: {link}")
return news_list
else:
print(f"Ошибка при загрузке страницы: {response.status_code}")
return []
# Использование функции
news_url = 'https://ria.ru/world/'
news_items = get_news(news_url)
for item in news_items:
print(f"Заголовок: {item['title']}")
print(f"Текст: {item['text'][:200]}...") # Выводим первые 200 символов текста
Пояснения:
- Импорт библиотек: Используются
requestsдля загрузки веб-страниц иBeautifulSoupдля парсинга HTML-кода. - Функция
get_news: Принимает URL и делает запрос к сайту. Если запрос успешен, парсер находит заголовки и извлекает текст. - Извлечение текста статьи: При переходе по ссылке на статью парсер делает еще один запрос и получает текст статьи.
- Вывод информации: После извлечения данных, программа выводит заголовок и краткий текст.
Установка библиотек:
Перед запуском убедитесь, что у вас установлены необходимые библиотеки. Вы можете установить их с помощью следующей команды:
pip install requests beautifulsoup4
Этот код является основой для парсера и может быть доработан в зависимости от ваших потребностей, таких как обработка ошибок или форматирование вывода. Удачи в вашем проекте!
