Python - 在字符串中检测(spammy)URLS

时间:2014-09-19 12:23:51

标签: python regex spam-prevention

所以,我已经做了一段时间的研究,我找不到任何关于在字符串中检测URL的信息。问题是大多数结果都是关于检测字符串是否是URL,而不是它是否包含URL。对我来说最好的2个结果是

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 个答案:

答案 0 :(得分:0)

正如我在评论中所说,

  • Detecting a (naughty or nice) URL or link in a text string的解决方案 是一个正则表达式,在Python中使用它时,你可能应该把它作为原始字符串或转义为反斜杠

  • 你真的不应该在这里重新发明方形轮,特别是因为垃圾邮件过滤是一个军备竞赛领域(不记得确切的英语短语)