Selectolax действительно крутая штука, особенно когда нужна скорость на "грязном" html.
Но я бы ещё присмотрелся к parsel - это обёртка над lxml, которую используют в Scrapy. Поддерживает и css селекторы, и XPath, причём XPath иногда даёт больше гибкости для сложных выборок. По скорости где то между BS4 и selectolax, но синтаксис очень удобный.
Selectolax действительно крутая штука, особенно когда нужна скорость на "грязном" html.
Но я бы ещё присмотрелся к parsel - это обёртка над lxml, которую используют в Scrapy. Поддерживает и css селекторы, и XPath, причём XPath иногда даёт больше гибкости для сложных выборок. По скорости где то между BS4 и selectolax, но синтаксис очень удобный.