Ключевые слова указаны в списке:
tools = ['RTS-', 'Si-', 'Eu-', 'BR-', 'SILV-', 'GOLD-']
Список перебирается в цикле и в функцию передается tool и soup. Поиск происходит так:
link = soup.find('a', href=True, string=re.compile(tool))
Проблема с элементом BR. На странице ещё есть VTBR, и надо исключить его нахождение (ну и других похожих элементов тоже). Перепробовал кучу вариантов:
tools = ['RTS-', 'Si-', 'Eu-', 'BR-', 'SILV-', 'GOLD-']
tools = ['RTS-', 'Si-', 'Eu-', r'BR-', 'SILV-', 'GOLD-']
tools = ['RTS-', 'Si-', 'Eu-', r'^BR-', 'SILV-', 'GOLD-']
tools = ['RTS-', 'Si-', 'Eu-', r'^(BR-'), 'SILV-', 'GOLD-']
tools = ['RTS-', 'Si-', 'Eu-', r'\^BR-\\', 'SILV-', 'GOLD-']
И может ещё какие другие, уже не вспомню. Ни так, ни эдак не работает. Или выбрасывает ошибку, или находит VTBR. С другими tool тоже есть нюансы, но там мне помогает то, что разный регистр символов. А с BR- затык.