Как найти None и заменить его?

Коллеги, парсинг делаю карт, написал такой код:

import requests
from bs4 import BeautifulSoup

url = 'https://www.rsb.ru/cards/credit/'
html = requests.get(url)
html = html.text

    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', class_='info-block clearfix vertical-center-flex')
    cards = []
    for item in items:
               
            cards.append(
            {
#                 'description_1': item.find('div', class_='col-sm-12').find('p',
#                      class_='info-block__note-under-title block_mb_25').find('p').get_text(' ', strip=True).replace('\xa0', ' '),
#                 'description_2': item.find('div', class_='col-sm-12').find('p',
#                      class_='info-block__note-under-title block_mb_25').find('p').find_next_sibling().get_text(' ', strip=True).
#                      replace('\xa0', ' '),
#                 'description_3': item.find('div', class_='col-sm-12').find('p',
#                      class_='info-block__note-under-title block_mb_25').find('p').find_next_sibling().find_next_sibling().
#                      get_text(' ', strip=True).replace('\xa0', ' '),
#                 'description_4': item.find('div', class_='col-sm-12').find('p',
#                      class_='info-block__note-under-title block_mb_25').find('p').find_next_sibling().
#                      find_next_sibling().find_next_sibling().
#                      get_text(' ', strip=True).replace('\xa0', ' '),
                 'description_5': item.find('div', class_='col-sm-12').find('p',
                     class_='info-block__note-under-title block_mb_25').find('p').find_next_sibling('p').
                     find_next_sibling('p').find_next_sibling('p').find_next_sibling()
            }
                    )  

В итоге выдается:

[{'description_5': <p>
<b>От 21,9%</b> — процентная ставка
</p>}, {'description_5': <p>
     Доступ в <b>бизнес-залы</b> аэропортов<br/>
</p>}, {'description_5': None}, {'description_5': <p>
     До 25% cashback у партнеров
</p>}]

т.е. в процессе парсинга по 'description_5' имеет место быть None, как мне этот None заменить на 'None' или на какой-нибудь другой текст, чтобы потом с помощью get_text, мне получить и этот 'None' и другую инфу для дальнейшего парсинга в данном коде?


Ответы (1 шт):

Автор решения: tonysdev

Если я правильно понял суть задачи, этот код должен заменять все, замените данный код внутри цикла

value = item.find('div', class_='col-sm-12')\
        .find('p', class_='info-block__note-under-title block_mb_25')\
        .find('p')\
        .find_next_sibling('p')\
        .find_next_sibling('p')\
        .find_next_sibling('p')\
        .find_next_sibling()

    cards.append(
        {
            'description_5': 'None' if value is None else value
        }
    )

Обычная проверка на тип данных

→ Ссылка