在Python中从HTML中提取链接

时间:2013-08-27 02:28:00

标签: python html python-3.x html-parsing

我必须基本上制作一个程序,该程序采用用户输入的网址并解析html以查找链接。然后以特定格式将所有链接存储在另一个HTML文件中。我只能访问内置的python模块(python 3)。我能够使用urllib.request从链接中获取HTML代码并将其放入字符串中。我将如何从这个字符串中提取链接并将它们放入字符串数组?也可以识别链接(例如图像链接/ mp3链接),这样我就可以将它们放入不同的数组中(然后我可以在创建输出文件时对它们进行归类)

2 个答案:

答案 0 :(得分:1)

您可以使用re模块解析链接的HTML文本。特别是findall方法可以返回每个匹配。

根据文件类型排序,取决于url是否实际包含扩展名(即.mp3,.js,.jpeg等...)

你可以像这样做一个简单的for循环:

import re
html = getHTMLText()
mp3s = []
other = []
for match in re.findall('<reexpression>',html):
    if match.endswith('.mp3'):
        mp3s.append(match)
    else:
        other.append(match)

答案 1 :(得分:1)

尝试使用HTML.Parser库或重新库 他们会帮助你做到这一点 我认为你可以用正则表达式来做到这一点

  ?

r'http [S]:// [^ \ S&LT;&gt; “中。+ | WWW [^ \ S&LT;&gt;” 中] +