Python - обнаружение (спам) URL-адресов в строке

Итак, я уже некоторое время занимаюсь исследованиями и не могу найти ничего об обнаружении URL в строке. Проблема заключается в том, что большинство результатов касается определения, является ли строка URL-адресом, а не содержит ли он URL-адрес. 2 результата, которые выглядят лучше всего для меня:

Regex для поиска URL-адресов в строке в Python и определения (непослушного или симпатичного) URL-адреса или ссылки в текстовой строке

но первый требует http://, который спаммеры не используют (:P), а второй не в регулярном выражении - и мои ограниченные знания не знают, как перевести любой из них. Что-то, что я подумал сделать, это использовать что-то скучное, как

spamlist = [".com",".co.uk","etc"]
for word in string:
    if word in spamlist:  
        Do().stuff()

Но это, честно говоря, принесет больше вреда, чем пользы, и я на 100% уверен, что есть лучший способ использовать регулярные выражения или что-то еще!

Так что, если кто-нибудь знает что-нибудь, что могло бы мне помочь, я был бы очень благодарен! Я занимался питоном только 1-2 месяца и не очень интенсивно в течение этого периода, но я чувствую, что я делаю большие успехи, и это единственное, что стоит на пути, правда.

РЕДАКТИРОВАТЬ: Извините, что не указал ранее, я хочу использовать это локально, а не на основе веб-сайта (Apache) или что-то подобное. Больше попыток вычистить любые ссылки из файлов, которые у меня есть.

1 ответ

Решение

Как я сказал в комментариях,

  • Обнаружение (непослушного или приятного) URL или ссылки в решении текстовой строки является регулярным выражением, и вы, вероятно, должны сделать его необработанной строкой или избежать обратной косой черты в ней при использовании ее в Python

  • Вы действительно не должны изобретать квадратное колесо здесь, тем более, что фильтрация спама является областью гонки вооружений (не мог вспомнить точную английскую фразу для этого)

Другие вопросы по тегам