2014-09-19 99 views
0

因此,我一直在做一些研究,並且找不到任何有關檢測字符串中的URL的信息。問題是大多數結果都是關於檢測一個字符串是否是一個URL,而不是它是否包含一個URL。 2.結果看起來最好的我是Python - 在字符串中檢測(垃圾郵件)URLS

Regex to find urls in string in PythonDetecting a (naughty or nice) URL or link in a text string

但首先需要的http://,這是不是垃圾郵件發送者會使用(:P),第二個是不正則表達式 - 和我有限的知識不知道如何翻譯任何這些。東西我也考慮過做的是使用的東西像沉悶

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

但是,就老老實實做更壞的比好,我100%肯定有使用正則表達式或任何一個更好的辦法!

所以如果有人知道任何可以幫助我的東西,我會非常感激!在這段時間裏,我只做了1-2個月的python,但並不是非常緊張,但我覺得我正在取得很大的進步,而這一切都是如此,真的。

編輯:對不起,以前沒有指定,我期待在本地使用,而不是基於網站(apache)或類似的東西。更多嘗試清理我所徘徊的文件中的任何鏈接。

+1

您是否考慮過檢測垃圾郵件的更高級方法?像使用像SpamAssassin這樣的現有成熟解決方案? – 2014-09-19 12:27:27

+0

作爲@ivan_pozdeev提到不要試圖重新發明輪子......因爲這東西是真正棘手,特別是因爲URL不包含http://如此permisive – user3012759 2014-09-19 12:29:46

+0

在[檢測A(乖不乖)URL的解決方案。 ..](http://stackoverflow.com/questions/700163)*是*正則表達式btw。 – 2014-09-19 12:30:50

回答

0

正如我在評論中說,

  • Detecting a (naughty or nice) URL or link in a text string的解決方案正則表達式,你或許應該讓一個原始字符串或Python中

  • 使用時,它在它逃跑反斜槓

    你真的不應該在這裏重新發明方形輪,特別是因爲垃圾郵件過濾是一個軍備競賽域(不記得這個確切的英語短語)