Как получить список статей с Python и bs4

Как получить список статей с Python и bs4

Как получить список статей с Python и bs4

В сегодняшней статье мы рассмотрим способ получения списка статей, из определенной категории нашего сайта.
Вот что нас интересует:

Как получить список статей с Python и bs4

Данный список хранится в html теге ul.
Мы будем посылать запрос на страницу с помощью Python библиотеки requests. Далее мы получим ответ,
который и будет обработан библиотекой bs4.

Для начала установим все необходимое.


pip install bs4

Также в зависимости от версии Python, может понадобиться установка модуля requests. В поздних версиях данный пакет встроен в компилятор.

# импортируем модули
import sys
from bs4 import BeautifulSoup
# встроенный модуль
import requests

# код для пользовательского ввода с консоли

# вводимая страница https://myrusakov.ru/python-tutorial.html
url = input("Введите адрес страницу")

# отправка запроса на сайт и получение ответа
page = requests.get(url)

# вывод статуса ответа
print(page)
#  <Response[200]>
# статус 200 говорит об успешном ответе

# вывод на экран кода страницы в символьном виде
print(page.content)

# далее используем модуль BeautifulSoup, который является удобным инструментом для обработки web страниц,
# в который мы передаем содержимое страницы в символьном виде, а также  параметр html.parser отвечающий # за парсинг 
soup = BeautifulSoup(page.content, "html.parser")

# далее выводим сам код страницы в формате html
print(soup.prettify())

# С помощью метода find_all находим названия всех статей внутри тега ul
title = soup.find_all("ul")

# в цикле методом get_text получаем текст без html кода и выводим его в консоль
for text in title:
  print(text.get_text())
  # далее записываем результат в файл 
with open("tt.txt", 'w') as f:
  for text in title:
    print(text.get_text(), file = f)

Запуск скрипта

>>>python get_article.py

# наш список будет выведен в консоль и записан в соответствующий  файл

Таким образом, мы получили список размещенных статей по темам языка c помощью Python и bs4 .

Источник