Ошибка говорит:
myIndex = self.parent.index(self)
AttributeError: 'NoneType' object has no attribute 'index'
Этот код встречается в строке 131 BeautifulSoup.py.Он говорит, что self.parent
- это None.
Просмотр окружающего кода показывает, что self
должно равняться node
в вашем коде, поскольку node
вызывает его метод replaceWith
(Примечание:в сообщении об ошибке указано node.replaceWith
, но код, который вы разместили, показывает n.replaceWith
. Код, который вы опубликовали, не соответствует сообщению об ошибке / трассировке.) Поэтому, очевидно, node.parent
- это None.
Вероятно, вы могли бы избежатьошибка, помещая
if node.parent is not None:
в некоторый момент в коде до вызова node.replaceWith
.
Редактировать: я предлагаю вам использовать операторы print
, чтобы выяснить, где в HTML вы находитеськогда node.parent
Нет (т. е. где происходит ошибка).Возможно, используйте print node.contents
или print node.previous.contents
или print node.next.contents
, чтобы увидеть, где вы находитесь.Как только вы увидите HTML, может стать очевидным, в какой патологической ситуации вы находитесь, node.parent
будет None
.