首页> 中国专利> 一种基于爬虫技术的垃圾短信检测方法

一种基于爬虫技术的垃圾短信检测方法

摘要

本发明提出了一种基于爬虫技术的垃圾短信检测方法,所述方法包括:通过预设的正则表达式提取待测短信中的有效的URL地址;利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息;通过预设的获取域名的正则表达式提取所述HTML页面对应URL地址中的域名信息,利用域名信息判定待检测短信是否为垃圾短信;通过DNS解析方法对所述域名信息进行解析,获取所述域名信息对应的IP地址,通过所述IP地址判定待检测短信是否为垃圾短信;对HTML页面文字信息进行分词,获得所述HTML页面文字信息内对应的每个词语,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信。

著录项

  • 公开/公告号CN112287198A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 上海云信留客信息科技有限公司;

    申请/专利号CN202011173377.9

  • 发明设计人 汤增丰;张长根;

    申请日2020-10-28

  • 分类号G06F16/951(20190101);G06F16/955(20190101);G06F40/205(20200101);G06F40/284(20200101);G06F40/289(20200101);H04L12/58(20060101);

  • 代理机构11399 北京冠和权律师事务所;

  • 代理人田鸿儒

  • 地址 200000 上海市徐汇区嘉定区嘉戬公路328号7幢7层JT3957室

  • 入库时间 2023-06-19 09:43:16

说明书

技术领域

本发明涉及通信领域及网络搜索领域,特别提供一种基于爬虫技术的垃圾短信检测方法。

背景技术

随着移动互联网技术的不断发展,商业短信作为运营商可控性最强的宣传媒介,得到了越来越广泛的使用。商业短信具有传播迅速、到达率高、提前量端、广告延迟效应小,广告内容可查询率高、可细分目标客户及市场传播、费用低廉等优点。上述优点往往也会被不良商家和非法分子所利用,利用短信进行非法营销、恶意诈骗,传播黄赌毒等信息,造成非常不好的社会影响,严重危害商业短信的良性健康发展。

在现有的技术方案中,垃圾短信的检测技术主要对收发码号及短信内容本身进行分析处理,对短信内容中包含的URL地址信息并没有做进一步的分析识别,导致垃圾短信识别成功率低。

发明内容

本发明提供了一种基于爬虫技术的垃圾短信检测方法,用以解决垃圾短信伪装成正常短信,所含URL地址指向非法或垃圾信息页面的情况无法被有效识别的问题,所采取的技术方案如下:

本发明提出的一种基于爬虫技术的垃圾短信检测方法,所述方法包括:

通过预设的正则表达式提取待测短信中的有效的URL地址;

利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息;

通过预设的获取域名的正则表达式提取所述HTML页面对应URL地址中的域名信息,利用域名信息判定待检测短信是否为垃圾短信;

通过DNS解析方法对所述域名信息进行解析,获取所述域名信息对应的IP地址,通过所述IP地址判定待检测短信是否为垃圾短信;

对HTML页面文字信息进行分词,获得所述HTML页面文字信息内对应的每个词语,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信。

进一步地,所述爬虫模块在获取URL指向的HTML页面过程中,如果HTTP请求经过多次跳转,则控制所述HTML页面不会自动跳转到其他HTML页面,其中,所述HTML页面是指用户可见的最终页面。

进一步地,所述正则表达式为:

http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+

其中,通过上述正则表达式

http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+中的各个片段诊断短信中的有效的URL地址进行提取。

进一步地,利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息,包括:

通过爬虫方式向响应头中发送一个指向所述URL地址的HTTP请求;

在收到响应头发回的第一类响应时,所述爬虫模块继续向响应头中所含的新的URL地址发起HTTP请求;其中,所述第一类响应是指出现HTTP重定向消息;

在收到响应头发回的第二类响应时,所述爬虫模块模拟浏览器行为,执行Javascript脚本,并向所述Javascript脚本中指定的URL地址发起新的HTTP请求;其中,所述第二类响应是指出现包含Javascript脚本的页面信息;

所述爬虫模块针对第一类响应和第二类响应进行持续处理直至收到第三类响应,其中,第三类响应是指最终响应,收到的相应信息中包含向终端用户展示的HTML页面内容。

进一步地,所述爬虫模块包括:

请求发送模块,用于通过爬虫方式向响应头中发送一个指向所述URL地址的HTTP请求;

第一类响应处理模块,用于在收到响应头发回的第一类响应时,继续向响应头中所含的新的URL地址发起HTTP请求;其中,所述第一类响应是指出现HTTP重定向消息;

第二类响应处理模块,在收到响应头发回的第二类响应时,模拟浏览器行为,执行Javascript脚本,并向所述Javascript脚本中指定的URL地址发起新的HTTP请求;其中,所述第二类响应是指出现包含Javascript脚本的页面信息;

HTML信息获取模块,用于控制所述第一类响应处理模块和第二类响应处理模块分别针对第一类响应和第二类响应进行持续处理直至收到第三类响应,其中,第三类响应是指最终响应,收到的相应信息中包含向终端用户展示的HTML页面内容。

进一步地,在所述请求发送模块针对待测短信向响应头发出第一次HTTP请求之后,如果响应头返回响应信息的时间超过预设时间阈值,则所述请求发送模块按照发送请求时间间隔进行持续的HTTP请求发送,所述发送请求时间间隔通过如下公式确定:

其中,ΔT表示发送请求时间间隔;m表示所述爬虫模块所检测的待测短信的总数;ΔT

进一步地,所述利用域名信息判定待检测短信是否为垃圾短信,包括:

查询所述域名信息对应的ICP备案信息,并判断所述ICP备案信息是否为有效备案信息;

当所述ICP备案信息是无效备案信息时,则判定所述待检测短信是垃圾短信。

进一步地,通过所述IP地址判定待检测短信是否为垃圾短信,包括:

根据IP地址查询所述IP地址的归属地信息;

根据所述归属地信息,判断所述IP地址对应的归属地是否为中国大陆地区;

当所述IP地址对应的归属地不是中国大陆地区,则判定所述待检测短信是垃圾短信。

进一步地,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信,包括:

查询所述每个词语在垃圾信息中的比重;

将所有词语在垃圾信息中的比重进行加权求和,获得加权求和值K;

判断所述加权求和值K是否大于加权求和的预设值;

当所述加权求和值K大于加权求和的预设值时,判定所述待检测短信是垃圾短信。

进一步地,所述加权求和值K通过如下公式获取:

其中,W

本发明有益效果:

本发明提供的一种基于爬虫技术的垃圾短信检测方法,能够在垃圾短信伪装成正常短信的情况下,有效快速的对垃圾短信进行识别,极大程度上提高了垃圾短信识别的效率和准确率,有效避免垃圾短信伪装后无法进行有效识别的情况发生。提高垃圾短信的识别检测的成功率。同时,通过多种信息检测途径对待测短信进行检测,能够有效提高垃圾短信检测的效率、准确率和成功率,有效降低垃圾短信检测识别失败数量。

附图说明

图1为本发明所述方法的流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使技术领域的人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施仅仅是本发明的一部分实施例。而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权力要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。

本发明实施例提出的一种基于爬虫技术的垃圾短信检测方法,如图1所示,所述方法包括:

S1、通过预设的正则表达式提取待测短信中的有效的URL地址;

S2、利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息;其中,所述爬虫模块在获取URL指向的HTML页面过程中,如果HTTP请求经过多次跳转,则控制所述HTML页面不会自动跳转到其他HTML页面,其中,所述HTML页面是指用户可见的最终页面。

S3、通过预设的获取域名的正则表达式提取所述HTML页面对应URL地址中的域名信息,利用域名信息判定待检测短信是否为垃圾短信;

S4、通过DNS解析方法对所述域名信息进行解析,获取所述域名信息对应的IP地址,通过所述IP地址判定待检测短信是否为垃圾短信;

S5、对HTML页面文字信息进行分词,获得所述HTML页面文字信息内对应的每个词语,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信。

上述技术方案的工作原理为:首先,当待检测的短信中包含有效的URL地址时,通过预设的用于匹配URL的正则表达式提取待检测短信中的URL地址,当短信中不包含URL地址时,可采用其他垃圾短信检测方法进行处理。然后,利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息;随后,通过预设的获取域名的正则表达式提取所述HTML页面对应URL地址中的域名信息,利用域名信息判定待检测短信是否为垃圾短信;之后,通过DNS解析方法对所述域名信息进行解析,获取所述域名信息对应的IP地址,通过所述IP地址判定待检测短信是否为垃圾短信;最后,对HTML页面文字信息进行分词,获得所述HTML页面文字信息内对应的每个词语,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信。其中,在对HTML页面文字信息进行分词过程,包括:首先,根据通用字符集(Universal Character Set,UCS)对短信中的信息内容进行编码,然后,按照文字从左到右的横向排列方式进行分词。

上述技术方案的效果为:本实施例提供的一种基于爬虫技术的垃圾短信检测方法,能够在垃圾短信伪装成正常短信的情况下,有效快速的对垃圾短信进行识别,极大程度上提高了垃圾短信识别的效率和准确率,有效避免垃圾短信伪装后无法进行有效识别的情况发生。提高垃圾短信的识别检测的成功率。

本发明的一个实施例,所述正则表达式为:

http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+

其中,通过上述正则表达式

http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+中的各个片段诊断短信中的有效的URL地址进行提取。例如,一个短信中的有效的URL地址肯定为域名或者http:+ip端口之类的信息,通过上述正则表达式,可以通过http[s]?://片段或[$-_@.&+]|[!*\(\),]|(?:%片段对域名或者http:+ip端口等同类型的URL地址进行提取。

上述技术方案的效果为:通过上述正则表达式,能够提高待测短信中的有效的URL地址的提取准确率和效率,能够有效避免URL地址出现漏提取的问题发生。进而提高垃圾短信检测准确率,有效降低垃圾短信检测失误率。

本发明的一个实施例,利用爬虫模块获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息,包括:

S201、通过爬虫方式向响应头中发送一个指向所述URL地址的HTTP请求;

S202、在收到响应头发回的第一类响应时,所述爬虫模块继续向响应头中所含的新的URL地址发起HTTP请求;其中,所述第一类响应是指出现HTTP重定向消息;

S203、在收到响应头发回的第二类响应时,所述爬虫模块模拟浏览器行为,执行Javascript脚本,并向所述Javascript脚本中指定的URL地址发起新的HTTP请求;其中,所述第二类响应是指出现包含Javascript脚本的页面信息;

S204、所述爬虫模块针对第一类响应和第二类响应进行持续处理直至收到第三类响应,其中,第三类响应是指最终响应,收到的相应信息中包含向终端用户展示的HTML页面内容。

其中,所述爬虫模块包括:

请求发送模块,用于通过爬虫方式向响应头中发送一个指向所述URL地址的HTTP请求;

第一类响应处理模块,用于在收到响应头发回的第一类响应时,继续向响应头中所含的新的URL地址发起HTTP请求;其中,所述第一类响应是指出现HTTP重定向消息;

第二类响应处理模块,在收到响应头发回的第二类响应时,模拟浏览器行为,执行Javascript脚本,并向所述Javascript脚本中指定的URL地址发起新的HTTP请求;其中,所述第二类响应是指出现包含Javascript脚本的页面信息;

HTML信息获取模块,用于控制所述第一类响应处理模块和第二类响应处理模块分别针对第一类响应和第二类响应进行持续处理直至收到第三类响应,其中,第三类响应是指最终响应,收到的相应信息中包含向终端用户展示的HTML页面内容。

上述技术方案的工作原理为:通过爬虫技术获取步骤S102所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息;通过爬虫发送一个指向所述URL地址的HTTP请求时,可能会收到三类响应信息,第一类响应是HTTP重定向消息,收到此类响应时,爬虫程序将继续向响应头中所含的新的URL地址发起HTTP请求。第二类响应是包含Javascript脚本的页面信息,此时爬虫程序会模拟浏览器行为,执行该脚本,并向Javascript脚本中指定的URL地址发起新的HTTP请求。第一类和第二类响应会触发爬虫程序发送新的HTTP请求,直到收到第三类响应信息。第三类响应是最终响应消息,该响应消息中包含向终端用户展示的HTML页面内容。

上述技术方案的效果为:有效提高URL地址和HTML页面文字信息的信息获取效率和信息获取准确性。避免因HTTP重定向和包含Javascript脚本的页面信息等问题导致URL地址和HTML页面文字信息获取不准确的问题发生。同时,通过上述方式能够有效快速的获取最终的HTML页面的URL地址和HTML页面文字信息,有效防止获得URL地址和HTML页面文字信息并非属于向终端用户展示的HTML页面内容的问题发生。

本发明的一个实施例,在所述请求发送模块针对待测短信向响应头发出第一次HTTP请求之后,如果响应头返回响应信息的时间超过预设时间阈值,则所述请求发送模块按照发送请求时间间隔进行持续的HTTP请求发送,所述发送请求时间间隔通过如下公式确定:

其中,ΔT表示发送请求时间间隔;m表示所述爬虫模块所检测的待测短信的总数;ΔT

上述技术方案的工作原理为:在所述请求发送模块针对待测短信向响应头发出第一次HTTP请求之后,如果响应头返回响应信息的时间超过预设时间阈值,所述请求发送模块按照发送请求时间间隔再次的、持续的向响应头发送HTTP请求。其中,本实施例中,通过待测短信的总数、请求发送模块向响应头发出第一次HTTP请求之后得到所述响应头回应的间隔时长和所述爬虫模块在进行m个待测短信检测过程中,所述请求发送模块向响应头发出第一次HTTP请求之后得到所述响应头回应的间隔时长最大值和最小值等参量获取发送请求时间间隔。

上述技术方案的效果为:有效提高爬虫获取所述URL地址指向的最终HTML页面的URL地址和HTML页面文字信息的效率。防止因响应头接受请求失败的情况下,没有进行信息响应而导致出现垃圾短信流程停滞或垃圾短信检测效率降低的问题发生,同时,通过上述公式获取的发送请求时间间隔,能够有效提高HTTP请求发送的及时性,并且以短信检测过程中的历史时间数据为依据进行发送请求时间间隔的确定,能够提高发送请求时间间隔与爬虫模块运行的匹配度,提高爬虫模块运行的稳定性,避免因发送请求时间间隔过短导致请求发送频率过高而导致的爬虫模块运行不稳定的情况发生。

本发明的一个实施例,所述利用域名信息判定待检测短信是否为垃圾短信,包括:

S301、查询所述域名信息对应的ICP备案信息,并判断所述ICP备案信息是否为有效备案信息;

S302、当所述ICP备案信息是无效备案信息时,则判定所述待检测短信是垃圾短信。

上述技术方案的工作原理为:过预设的用于匹配域名的正则表达式提取所述的HTML页面的URL地址信息中所含的域名,将提取到的域名向工业和信息化部政务服务平台或其他被合法授权的组织提供的服务平台查询相关备案信息,当查询不到相关的备案信息或查询到的备案信息被标识为无效或者非法时,则判定待检测短信为垃圾短信。

上述技术方案的效果为:通过审核备案信息方式对待测短信进行检测,能够有效提高垃圾短信检测的效率、准确率和成功率,有效降低垃圾短信检测识别失败数量。

本发明的一个实施例,通过所述IP地址判定待检测短信是否为垃圾短信,包括:

S401、根据IP地址查询所述IP地址的归属地信息;

S402、根据所述归属地信息,判断所述IP地址对应的归属地是否为中国大陆地区;

S403、当所述IP地址对应的归属地不是中国大陆地区,则判定所述待检测短信是垃圾短信。

上述技术方案的工作原理:通过DNS解析程序获取所述域名对应的IP地址,查询所述IP地址的归属地信息,判断所述归属地是否为中国大陆地区,若否,则判定待检测短信为垃圾短信。

上述技术方案的效果为:通过IP地址归属地的检测对待测短信进行识别,能够有效提高垃圾短信检测的效率、准确率和成功率,有效降低垃圾短信检测识别失败数量。

本发明的一个实施例,利用所述每个词语在垃圾信息中的比重判定所述待检测短信是否为垃圾短信,包括:

S501、查询所述每个词语在垃圾信息中的比重;

S502、将所有词语在垃圾信息中的比重进行加权求和,获得加权求和值K;

S503、判断所述加权求和值K是否大于加权求和的预设值;

S504、当所述加权求和值K大于加权求和的预设值时,判定所述待检测短信是垃圾短信。

其中,所述加权求和值K通过如下公式获取:

其中,W

上述技术方案的工作原理为:将所述HTML页面文字进行分词,获得n各词语,查询每个词语在垃圾信息中的比重,将所有词语的垃圾信息比重进行加权求和取值为K,判定K值是否大于预设值,若是,则判定所述待检测短信为垃圾短信,其中,每个词语在垃圾信息中的比重为预先设置比重值。

上述技术方案的效果为:通过HTML页面文字的各词语在垃圾信息中的加权求和值对待测短信进行检测,能够有效提高垃圾短信检测的效率、准确率和成功率,有效降低垃圾短信检测识别失败数量。同时,通过上述公式获取的针对HTML页面文字的各词语的加权求和值能够有效提高词语在垃圾信息中权重的认定准确率,进而提高通过词语进行垃圾短信检测的准确性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号