Как уже упоминалось ранее: регулярное выражение не имеет возможности для анализа HTML. Не используйте регулярные выражения для анализа HTML. Не пропустите Go. Не собирайте £ 200.
Использовать анализатор HTML.
Но для полноты основная проблема:
re.match ('/href="(.*)"/iU', line)
Вы не используете синтаксис «/.../flags» для украшения регулярных выражений в Python. Вместо этого поместите флаги в отдельный аргумент:
re.match('href="(.*)"', line, re.I|re.U)
Другая проблема - это жадный шаблон «. *». Если у вас в строке два hrefs, он с радостью поглотит весь контент между открытием «первого матча» и закрытием »второго матча. Вы можете использовать не жадный ‘. *?’ Или, проще, ‘[^"] * ’, чтобы соответствовать только первой закрывающей кавычке.
Но не используйте регулярные выражения для анализа HTML. На самом деле.