Использование функции поиска, чтобы определить, найдено ли значение в списке с Beautiful Soup - PullRequest
0 голосов
/ 23 марта 2020

Я собираю данные со страницы и пытаюсь определить, есть ли значение в списке, используя find с Beautiful Soup. Итак, если на странице найдено «4:30», в этом случае сделайте что-нибудь еще:

myList = ['4:28', '4:29', '4:30']
if str(soup).find(myList) == -1:
    # continue with the script,
    continue
else
    # do something else

Я также попробовал:

if str(soup).find('4:28') == -1 or str(soup).find('4:29') == -1 or str(soup).find('4:30') == -1:
    # continue with the script,
    continue
else
    # do something else

Кажется, что ничего не работает, но Я бы предпочел список, так как мне может понадобиться найти 30-60 значений.

1 Ответ

0 голосов
/ 23 марта 2020

Возможно, это не самое эффективное решение, но если ваша строка не такая большая:

myList = ['4:28', '4:29', '4:30']
string1 = "34:28, 4:29, 4:30"
string2 = "other test 5:3"

if any(pattern in string1 for pattern in myList):
    print("found pattern in string 1")
else:
    print("found no pattern in string 1")

if any(pattern in string2 for pattern in myList):
    print("found pattern in string 2")
else:
    print("found no pattern in string 2")

Однако этот вопрос на самом деле не связан с BeautifulSoup, а просто с сопоставлением строк в python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...