Я пытаюсь использовать Beautiful Soup для поиска ссылок на странице по ключевым словам в тексте, используя RegEx.
<a href="/company/05835190" onclick="javascript:_paq.push(['trackEvent', 'SearchSuggestions', 'SearchResult-1' ]);" title="View company"><strong>FOO</strong>blah blah<strong>BAR</strong>example</a>
Вот мой простой код:
raw_html = simple_get(searchString)
searchString = ...see below...
if len(str(raw_html)) != 0:
html = BeautifulSoup(raw_html, 'html.parser')
companyLink = html.find_all('a', string=re.compile(searchString,
re.IGNORECASE))
print(companyLink)
Давайтескажем, что текст ссылки: Foo blah blah bar:
- If searchString = "Foo" -> match
- If searchString = "Bar" -> match
- Если searchString = "Foo (.) * Bar" -> NO MATCH
- Если searchString = "Foo blah blah bar" -> NO MATCH!(Я даже скопировал текст прямо с веб-страницы)
Я пробовал companyLink = html.find_all ('a', text = re.compile (searchString, re.IGNORECASE)) - нетgo
Я пробовал companyLink = html.find_all (string = re.compile (searchString, re.IGNORECASE)) - нет go
Я пробовал companyLink = html.find_all (текст= re.compile (searchString, re.IGNORECASE)) - нет хода
Я думаю, что все четыре версии searchString должны возвращать совпадение.Я действительно хочу использовать версию 3, так как я знаю "Foo" и "Bar" и не уверен, что может быть между ними.
Есть мысли о том, что я делаю неправильно ???