使用Python在文本中查找超链接(与Twitter相关)

时间:2009-04-06 02:37:49

标签: python regex

如何解析文本并查找带字符串的所有超链接实例?超链接不是<a href="http://test.com">test</a>的html格式,而只是http://test.com

其次,我想转换原始字符串并将所有超链接实例替换为可点击的html超链接。

我在这个帖子中找到了一个例子:

Easiest way to convert a URL to a hyperlink in a C# string?

但无法在python中重现它:(

4 个答案:

答案 0 :(得分:22)

这是一个Easiest way to convert a URL to a hyperlink in a C# string?的Python端口:

import re

myString = "This is my tweet check it out http://tinyurl.com/blah"

r = re.compile(r"(http://[^ ]+)")
print r.sub(r'<a href="\1">\1</a>', myString)

输出:

This is my tweet check it out <a href="http://tinyurl.com/blah">http://tinyurl.com/blah</a>

答案 1 :(得分:9)

Here是一个比2002年更复杂的正则表达式。

答案 2 :(得分:5)

Django还有一个不只是使用正则表达式的解决方案。它是django.utils.html.urlize()。我发现这非常有用,特别是如果你碰巧使用django。

您还可以提取要在自己的项目中使用的code

答案 3 :(得分:1)

Jinja2(Flask使用它)有一个过滤器urlize也可以。

Docs