@AntVlad

Как парсить ссылки по вхождению ключевых слов?

Ключевые слова указаны в списке:
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- затык.
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Если перед BR может быть либо пробел, либо >
re.compile(r'[\s|>]BR-')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы