После некоторого времени чтения об условных комментариях я могу понять, почему это происходит таким образом.
downlevel-hidden
downlevel-hidden
в основном написаны как обычный комментарий <!-- ... -->
.Это определяется как блок условных комментариев в современных браузерах.Поэтому BeautifulSoup удаляет его полностью, если я хочу удалить условные комментарии.
downlevel-показали
downlevel-revealed
записаны как <!...>b<!...>
, современные браузеры обнаруживают два тега как недействительные и игнорируют их вDOM, так что b
остается в силе.Поэтому BeautifulSoup удаляет только теги, а не содержимое
Заключение
BeautifulSoup обрабатывает условные комментарии, как это делают современные браузеры.Это отлично подходит для моих обстоятельств.