Для создания простого парсера новостей на Python, который будет выводить названия статей и их текст, мы можем использовать библиотеку BeautifulSoup, которая позволяет легко извлекать данные из HTML. Ниже приведен пример кода с одной функцией, которая выполняет поставленную задачу. Пример будет использовать сайт с новостями, поэтому, пожалуйста, замените URL на нужный вам.
import requests
from bs4 import BeautifulSoup
def parse_news(url):
# Получаем HTML-код страницы
response = requests.get(url)
# Проверяем, успешно ли была выполнена GET-запрос
if response.status_code == 200:
# Создаем объект BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
# Находим все заголовки и текст статей (здесь пример с классами, у каждой страницы могут быть свои)
articles = soup.find_all('article') # Измените 'article' на нужный тег
for article in articles:
title = article.find('h2') # Измените 'h2' на тег, соответствующий заголовку
text = article.find('p') # Измените 'p' на тег, содержащий текст статьи
if title and text:
print(f"Название статьи: {title.text.strip()}")
print(f"Текст статьи: {text.text.strip()}\n")
else:
print(f"Ошибка при получении данных: {response.status_code}")
# Пример использования функции (укажите ваш URL)
parse_news('https://example.com/news') # Замените на актуальный URL
Как работает этот код:
- Импорт библиотек: Сначала мы импортируем необходимые библиотеки
requestsиBeautifulSoup. - Функция
parse_news: Создаем функцию, которая принимает URL в качестве аргумента. - Получение HTML: Используем
requests.get()для получения HTML-кода страницы. - Парсинг HTML: Если запрос успешен, создаём объект
BeautifulSoupи ищем элементы статей. - Извлечение заголовков и текста: Ищем заголовок и текст статьи внутри каждого элемента. Примерные теги
h2иpмогут меняться в зависимости от структуры HTML страницы. - Вывод информации: Печатаем названия и текст статей.
Не забудьте установить библиотеку BeautifulSoup, если она еще не установлена:
pip install beautifulsoup4
pip install requests
Если у вас возникнут вопросы о коде, его использовании или о том, как улучшить парсер, смело спрашивайте!