python - 使用Python获取html文件上所有<a>标签中href属性的值

标签 python html regex parsing

我正在用 python 构建一个应用程序,我需要获取一个网页中所有链接的 URL。我已经有一个函数,它使用 urllib 从网络上下载 html 文件,并使用 readlines() 将其转换为字符串列表。

目前我有这段代码使用正则表达式(我不是很擅长)在每一行中搜索链接:

for line in lines:
    result = re.match ('/href="(.*)"/iU', line)
    print result

这不起作用,因为它只为文件中的每一行打印“无”,但我确定我正在打开的文件中至少有 3 个链接。

有人可以给我一些提示吗?

提前致谢

最佳答案

Beautiful Soup 几乎可以做到这一点:

from BeautifulSoup import BeautifulSoup as soup

html = soup('<body><a href="123">qwe</a><a href="456">asd</a></body>')
print [tag.attrMap['href'] for tag in html.findAll('a', {'href': True})]

关于python - 使用Python获取html文件上所有<a>标签中href属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671323/

相关文章:

python - 以 append 模式写入python中的新行

javascript - 如何运行占用大量 CPU 和内存的 HTML/javascript 程序? (Firefox/Chrome 崩溃)

正则表达式 [xyz] 与 [x|y|z]

python - 在 pytorch 中堆叠 LSTM 输出

python - 使用 NumPy 将向量保存到 Python 文件中

javascript - CSS定位,需要一些建议

html - 多个响应式背景图片

javascript - 检查密码强度

php - 用于正确分割嵌套 SQL 分隔符的正则表达式

python - 在过滤后的 pandas DataFrame 上创建列