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
Вы действительно не должны изобретать квадратное колесо здесь, тем более, что фильтрация спама является областью гонки вооружений (не мог вспомнить точную английскую фразу для этого)