Присвойте значение заголовку диапазона 'NoneType' с BeautifulSoup - PullRequest
0 голосов
/ 08 июня 2018

У меня есть следующий код:

surface = calendar_containers[0].findAll('td', class_ = 's-color')
    for i in surface:
        surfaces.append(i.find('span')['title'])

, который я использую для получения названий промежутков с сайта, который я хочу очистить.

Код возвращает список элементов, пока не будет полученвстречается с одним элементом, который не имеет заголовка span, а затем возвращает «TypeError: объект NoneType не является подписным».

Я хотел бы знать, возможно ли сделать скрипт просто добавив текстнапример, «Нет» каждый раз, когда он встречается с «Нетипом» и продолжает добавлять следующие элементы.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Попробуйте это:

surface = calendar_containers[0].findAll('td', class_ = 's-color')
for i in surface:
    try:
        surfaces.append(i.find('span')['title'])
    except TypeError:
        surfaces.append('None')
0 голосов
/ 08 июня 2018

Есть несколько способов сделать это, но вам, вероятно, лучше заменить surfaces.append(i.find('span')['title']) на:

cont = i.find('span')
title = cont['title'] if cont else 'None'
surfaces.append(title)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...