Я пытаюсь создать регулярное выражение, которое соответствует ссылке из источника страницы. У меня есть текст, отформатированный следующим образом:
что-то здесь вот ссылка
<a class="_5syj" href="https://www.here.com/FirstCal?ref=br_rs">First Cal</a><span class="mls _1ccm9 _49"></span><a class="_fasc" href="https://www.here.com/Mall?ref=br_rs">Mall</a><span class="m1ls _1cm9 _49"></span>
Я хочу получить все ссылки, начинающиеся с href="https://www.here.com/(.*)?ref=br_rs">
Так что по ссылкам о я бы получил либо всю ссылку, либо FIrstCal и Mall (по ссылке)
Код Python:
regex = r'(?<=href="https://www.here.com/).*(?<=?ref=br_rs)'
link = re.findall(regex, str(source))
link
Но это не работает.
Любые идеи ?
PS: регулярные выражения — единственный способ сделать это. Анализ HTML не будет работать, потому что структура веб-сайта нестабильна.
soup.find_all('a', href=re.compile('https://www.here.com/.*?ref=br_rs'))
например. - person Martijn Pieters   schedule 26.02.2014