Я написал функцию для вычисления расстояния между двумя BeautifulSoup
Tag
s, используя поиск в глубину с рекурсивной функцией (есть ли лучший подход?), Но когда страница html становится большой, Tag
оператор сравнения станет узким местом в коде, и для выполнения всех задач потребуется несколько минут.
Вся проблема заключается в стоимости вычислений этого простого оператора:
if Tag1 == Tag2:
pass
Есть предположение что каждый тег имеет уникальное местоположение в проанализированном дереве (я так думаю), поэтому, если бы можно было получить местоположение Tag
в проанализированном дереве, было бы неплохо, и я мог бы рассмотреть эквивалентную строку или int для каждого Tag
и используйте их в качестве представителя.
Есть какой-нибудь способ или более разумный способ сделать это?
Спасибо