7-14 利用正则表达式得到一段HTML文本中所有超链接对应的网址

编写程序实现以下功能:利用正则表达式得到一段HTML文本中所有超链接对应的网址,并将网址输出到屏幕上(每行输出一个网址)。

输入格式:

从键盘输入 一段HTML文本,多行输入,空行输入 结束。

输出格式:

输出从HTML文本中提取到的超链接所对应的网址,一行一个网址。

输入样例:

在这里给出一组输入。例如:

复制代码
<h3 class="c-title">
 <a href="https://baijiahao.baidu.com/s?id=1633289774665320636&amp;wfr=spider&amp;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&amp;wfr=spider&amp;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&amp;wfr=spider&amp;for=pc
https://baijiahao.baidu.com/s?id=1632116753423885280&amp;wfr=spider&amp;for=pc
python 复制代码
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()
相关推荐
潮汐退涨月冷风霜20 小时前
数字图像处理(1)OpenCV C++ & Opencv Python显示图像和视频
c++·python·opencv
酷飞飞1 天前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
数字化顾问1 天前
Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
python
破无差1 天前
《赛事报名系统小程序》
小程序·html·uniapp
学生信的大叔1 天前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
诗句藏于尽头1 天前
Django模型与数据库表映射的两种方式
数据库·python·django
智数研析社1 天前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
扯淡的闲人1 天前
多语言编码Agent解决方案(5)-IntelliJ插件实现
开发语言·python
moxiaoran57531 天前
Flask学习笔记(一)
后端·python·flask
秋氘渔1 天前
迭代器和生成器的区别与联系
python·迭代器·生成器·可迭代对象