Найти гиперссылки в тексте с помощью Python (Twitter) - PullRequest
13 голосов
/ 06 апреля 2009

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

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

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

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

но не удалось воспроизвести его на python: (

Ответы [ 4 ]

22 голосов
/ 06 апреля 2009

Вот порт 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>
9 голосов
/ 20 января 2010

Здесь - гораздо более сложное регулярное выражение с 2002 года.

5 голосов
/ 24 января 2012

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

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

2 голосов
/ 26 октября 2012

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

Docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...