Я пытаюсь извлечь заголовки из веб-страниц с помощью регулярных выражений, однако некоторые заголовки имеют & amp, что заставляет мое регулярное выражение не совпадать. Я совершенно новичок в регулярных выражениях. Плюс во время поиска я наткнулся на этот стекопоток, хотя и задавал вопросы здесь. (Я прочитал весь подобный контент и видео на YouTube по регулярным выражениям, но не решаю свои проблемы, поэтому я задаю этот вопрос здесь)
Это мое уже написанное регулярное выражение
match = re.search(r'<h3 class="font-semibold m-0 t-xs-24">(?P<ASN_CODE>AS\d+(&)) (?P<NAME>[\w.\s]+)</h3>', s).groups()
Мой код:
s = """HTML source """
#https://ipinfo.io/AS7018 [This is the webpage i am trying to scrap]
match = re.search(r'<h3 class="font-semibold m-0 t-xs-24">(?P<ASN_CODE>AS\d+) (?P<NAME>[\w.\s]+)</h3>', s)
if match:
asn_code, name = match.groups()
print(asn_code)
print(name)
Это не соответствует даже названиям, которые не имеют & amp
примеры веб-страниц:
https://ipinfo.io/AS7922
https://ipinfo.io/AS7018
Ожидаемый результат:
Comcast Cable Communications, LLC Соединенные Штаты
AT & T Services, Inc. Соединенные Штаты
Я не уверен, как изменить мою часть регулярного выражения (? = & Amp), чтобы она соответствовала как & amp, так и NOT & amp
Любые указатели очень ценятся.