Вопрос: Найти гиперссылки в тексте с помощью Python (связанный с Twitter)


Как я могу разобрать текст и найти все экземпляры гиперссылок со строкой? Гиперссылка не будет находиться в html-формате <a href="http://test.com">test</a> но просто http://test.com

Во-вторых, я хотел бы затем преобразовать исходную строку и заменить все экземпляры гиперссылок на интерактивные гиперссылки html.

Я нашел пример в этой теме:

Самый простой способ конвертировать URL-адрес в гиперссылку в строке C #?

но не смог воспроизвести его в python :(


13


источник


Ответы:


Вот порт Python Самый простой способ конвертировать URL-адрес в гиперссылку в строке C #? :

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>

20



Вот  является намного более сложным регулярным выражением с 2002 года.


8



Django также имеет решение, которое не просто использует регулярное выражение. это django.utils.html.urlize () , Я нашел, что это очень полезно, особенно если вы используете django.

Вы также можете извлечь код  для использования в вашем собственном проекте.


5



Jinja2 (Flask использует это) имеет фильтр urlize что делает то же самое.

Документы


1