7-14 利用正则表达式得到一段HTML文本中所有超链接对应的网址
编写程序实现以下功能:利用正则表达式得到一段HTML文本中所有超链接对应的网址,并将网址输出到屏幕上(每行输出一个网址)。
输入格式:
从键盘输入 一段HTML文本,多行输入,空行输入 结束。
输出格式:
输出从HTML文本中提取到的超链接所对应的网址,一行一个网址。
输入样例:
在这里给出一组输入。例如:
<h3 class="c-title">
<a href="https://baijiahao.baidu.com/s?id=1633289774665320636&wfr=spider&for=pc" data-click="{
'f0':'77A717EA',
'f1':'9F63F1E4',
'f2':'4CA6DE6E',
'f3':'54E5243F',
't':'1557660267'
}" target="_blank">
影片《周恩来回延安》在<em>南开大学</em>点映开启全国路演
</a>
</h3>
<a href="https://baijiahao.baidu.com/s?id=1632116753423885280&wfr=spider&for=pc" data-click="{
'f0':'77A717EA',
'f1':'9F73F1E4',
'f2':'4CA6DE6E',
'f3':'54E5243F',
't':'1557660267'
}" target="_blank">
天津“<em>南开大学</em>”——莘莘学子的梦想之地
</a>
输出样例:
在这里给出相应的输出。例如:
https://baijiahao.baidu.com/s?id=1633289774665320636&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1632116753423885280&wfr=spider&for=pc
import re
def extract_urls(html_text):
pattern=r'<a\s+[^>]*?href\s*=\s*["\'](.*?)["\']'
urls =re.findall(pattern,html_text)
return urls
def main():
html_text=""
while True:
try:
line=input()
if(line.strip()==""):
break
html_text+=line+"\n"
except EOFError:
break
urls=extract_urls(html_text)
for url in urls:
print(url)
if __name__ == "__main__":
main()