IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]3.2.5.4 分析黑名单

    caimouse发表于 2015-09-07 13:29:24
    love 0

    假如你正在开发手机的应用,比如从云中心那里获取到一串黑名单的电话本号码,然而这些电话本的号码是作为一个文本文件返回来的,需要把这些一行一行的文本分析成电信供应商、电话号码、备注信息、标记的次数,其实这个过程就是把序列化的信息转换为结构化的信息,这样才可更方便处理,比如把电话号码拿出来作为拦截的比较。

    例子:

    text = """18701808546 1位用户诈骗号码 (2015-08-24) 

    15396989999 1位用户骚扰号码 (2015-08-23)

    15992460848 1位用户诈骗号码 (2015-08-23) 

    15625759163 1位用户推销、中介 (2015-08-23)

    15994768049 1位用户发送诈骗信息 (2015-08-23)

     

     

    18670826757 1位用户诈骗号码 (2015-08-22) 

    13141465810 1位用户诈骗号码 (2015-08-22) 

    13860039526: 1位用户诈骗号码 (2015-08-22)"""

     

    entries = re.split("\n+", text)

    print(entries)

     

    l = [re.split(":? ", entry, 2) for entry in entries]

    print(l)

     

    print('\n输出电话号码:')

    for phone in l:

        print(phone[0])

     

    结果输出如下:

    ['18701808546 1位用户诈骗号码 (2015-08-24) ', '15396989999 1位用户骚扰号码 (2015-08-23)', '15992460848 1位用户诈骗号码 (2015-08-23) ', '15625759163 1位用户推销、中介 (2015-08-23)', '15994768049 1位用户发送诈骗信息 (2015-08-23)', '18670826757 1位用户诈骗号码 (2015-08-22) ', '13141465810 1位用户诈骗号码 (2015-08-22) ', '13860039526: 1位用户诈骗号码 (2015-08-22)']

    [['18701808546', '1位用户诈骗号码', '(2015-08-24) '], ['15396989999', '1位用户骚扰号码', '(2015-08-23)'], ['15992460848', '1位用户诈骗号码', '(2015-08-23) '], ['15625759163', '1位用户推销、中介', '(2015-08-23)'], ['15994768049', '1位用户发送诈骗信息', '(2015-08-23)'], ['18670826757', '1位用户诈骗号码', '(2015-08-22) '], ['13141465810', '1位用户诈骗号码', '(2015-08-22) '], ['13860039526', '1位用户诈骗号码', '(2015-08-22)']]

     

    输出电话号码:

    18701808546

    15396989999

    15992460848

    15625759163

    15994768049

    18670826757

    13141465810

    13860039526

     

    在这个例子里,使用re.split("\n+", text)来先把多行空行去掉,这样所有文本紧挨在一起,使用 [re.split(":? ", entry, 2) for entry in entries]来把每一行的文本拆分成可用的信息格式,并且最多分成三组的方式,最后通过遍历列表l就可以得到所有电话号码结果,这样当有来电显示时,就可以判断该号码是否在这些列表里,如果在就把电话挂断,阻挡一切骚扰电话、广告电话,提高整个社会的效率,像这种烦人的电话总会在工作时间打断你,在你刚睡到床上时打来,或者在开车过程中不断打来,带来很大的问题。



    蔡军生 QQ:9073204 深圳



沪ICP备19023445号-2号
友情链接