本发明专利技术公开了一种基于正则表达式的URL清洗方法及系统,其通过爬取网站的URL及其对应的公司名称;对所述公司名称进行分词处理,得到分词结果;构造与所述分词结果相应的正则表达式;访问所述URL并提取对应的网站标题;将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗;从而极大的提高了URL清洗效率,节省大量的人工检查时间,并提高了验证URL所对应网站内容的准确程度。
【技术实现步骤摘要】
基于正则表达式的URL清洗方法及系统
本专利技术涉及网络信息处理
,特别是一种基于正则表达式的URL清洗方法及其应用该方法的系统。
技术介绍
URL,也被称为网页地址,是Internet上标准的资源的地址,用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一的URL地址名称标识,通常称之为URL地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是Internet上的站点。简单地说,URL就是Web地址,俗称“网址”。通常爬虫工程师在爬完网站数据之后要对这些数据做清洗操作,其中比较麻烦的就是URL的清洗。对于结构完整的URL(完整域名和域名后缀),我们可以对它发送请求,获取它的服务器返回的状态码,如果状态码为200则表示请求成功,如果状态码为其它数值则表示请求失败。这种方法能过滤掉大部分URL,但是无法过滤掉满足状态码为200但网站内容与网站的公司名称完全不相符的博彩网或h网或其他网站;例如,网站标题包含“婚纱摄影”,但网站内容为“日用品销售”的情况。从而导致清洗效率低,需要耗费大量时间进行人工检查。
技术实现思路
本专利技术为解决上述问题,提供了一种基于正则表达式的URL清洗方法及系统,通过自然语言处理的方法来识别网站标题,将网站标题与公司名称进行验证匹配,能够极大的提高URL的清洗效率。为实现上述目的,本专利技术采用的技术方案为:一种基于正则表达式的URL清洗方法,其包括以下步骤:a.爬取网站的URL及其对应的公司名称;b.对所述公司名称进行分词处理,得到分词结果;c.构造与所述分词结果相应的正则表达式;d.访问所述URL并提取对应的网站标题;e.将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。优选的,所述的步骤a中,是根据爬取主题进行设置对应的爬取关键词,并利用Python爬虫进行获取所述爬取关键词相关联的URL,并同时爬取所述URL对应的公司名称。优选的,所述的步骤b中,进一步统计所述分词结果的词频;所述的步骤c中,根据所述分词结果的词频进行构造所述分词结果相应的正则表达式。进一步的,所述的步骤b中,是采用Python中的结巴分词工具对所述公司名称进行分词处理,并采用Python中的collections包里的Counter模块进行统计所述分词结果的词频。进一步的,所述的步骤c中,是通过对所述分词结果的词频进行从大到小的排序,并对排序在前的预设数量的分词结果进行构造相应的正则表达式;或者,采用阈值法对所述分词结果的词频进行计算,并对词频大于预设阈值的分词结果进行构造相应的正则表达式。优选的,所述正则表达式的构造,是通过将所述分词结果与特定字符串相组合进行构造正则表达式,所述特定字符串前置于和/或后置于所述分词结果;所述特定字符串包括:通配符、转义字符、特殊意义字符、自定义字符、空白字符、匹配次数字符中的一种以上。优选的,所述的步骤d中,所述网站标题的提取方法是采用Xpath对所述爬取得到网站进行字符串匹配,获取<title></title>标签内容,即为网站标题。优选的,所述的步骤e中,将所述正则表达式与所述网站标题进行匹配,若匹配成功则返回True,若匹配失败则返回False,并对匹配失败的网站所对应的URL进行清洗。对应的,本专利技术还提供一种基于正则表达式的URL清洗系统,其包括:数据爬取模块,用于爬取网站的URL及其对应的公司名称;分词处理模块,用于对所述公司名称进行分词处理,得到分词结果;正则表达式生成模块,用于构造与所述分词结果相应的正则表达式;网站标题提取模块,其通过访问所述URL进行提取对应的网站标题;URL清洗模块,其将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。本专利技术的有益效果是:(1)本专利技术通过结合网站的公司名称和网站标题,利用自然语言处理的方法进行过滤和清洗网站的URL,从而极大的提高了URL清洗效率,节省大量的人工检查时间;(2)本专利技术通过识别网站标题来判断网站内容,无需对网站的全文进行分析,极大的提高了计算效率;(3)本专利技术通过正则表达式将网站标题与公司名称进行匹配,提高了验证URL所对应网站内容的准确程度。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合具体实施例对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。一种基于正则表达式的URL清洗方法,其包括以下步骤:a.爬取网站的URL及其对应的公司名称;b.对所述公司名称进行分词处理,得到分词结果;c.构造与所述分词结果相应的正则表达式;d.访问所述URL并提取对应的网站标题;e.将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。所述的步骤a中,是根据爬取主题进行设置对应的爬取关键词,并利用Python爬虫进行获取所述爬取关键词相关联的URL,并同时爬取所述URL对应的公司名称。本实施例通过爬取主题来设置爬取关键词,进而根据爬取关键词进行爬取关联的URL,适用于对某一领域或某一行业或某一主题的专项分析,使得爬取的数据更具有针对性,分析结果更准确。所述的步骤b中,进一步统计所述分词结果的词频;本实施例中,是采用Python中的结巴分词工具对所述公司名称进行分词处理。举例如下:表1-分词处理本实施例中,进一步采用Python中的collections包里的Counter模块进行统计所述分词结果的词频。举例如下:表2-词频统计所述的步骤c中,根据所述分词结果的词频进行构造所述分词结果相应的正则表达式。本实施例中,是通过对所述分词结果的词频进行从大到小的排序,并对排序在前的预设数量的分词结果进行构造相应的正则表达式;或者,采用阈值法对所述分词结果的词频进行计算,并对词频大于预设阈值的分词结果进行构造相应的正则表达式。举例如下:表3-构造正则表达式其中,所述正则表达式的构造,是通过将所述分词结果与特定字符串相组合进行构造正则表达式,所述特定字符串前置于和/或后置于所述分词结果;所述特定字符串包括:通配符、转义字符、特殊意义字符、自定义字符、空白字符、匹配次数字符中的一种以上。常用的字符举例如下:表4-正则表达式的常用字符所述的步骤d中,所述网站标题的提取方法是采用Xpath对所述爬取得到网站进行字符串匹配,获取<title></title>标签内容,即为网站标题。所述的步骤e中,将所述正则表达式与所述网站标题进行匹配,若匹配成功则返回True,若匹配失败则返回False,并对匹配失败的网站所对应的URL进行清洗。与所述清洗方法相对应的,本专利技术还提供一种基于正则表达式的URL清洗系统,其包括:数据爬取模块,用于爬取网站的URL及其对应的公司名称;分词处理模块,用于对所述公司名称进行分词处理,得到分词结果;正则表达式生成模块,用于构造与所述分词结果相应的正则表达式;网站标题提取模块,其通过访问所述URL进行提取对应的网站标题;URL清洗模块,其将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。需要说明的是,本说明书本文档来自技高网...
【技术保护点】
1.一种基于正则表达式的URL清洗方法,其特征在于,包括以下步骤:a.爬取网站的URL及其对应的公司名称;b.对所述公司名称进行分词处理,得到分词结果;c.构造与所述分词结果相应的正则表达式;d.访问所述URL并提取对应的网站标题;e.将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。
【技术特征摘要】
1.一种基于正则表达式的URL清洗方法,其特征在于,包括以下步骤:a.爬取网站的URL及其对应的公司名称;b.对所述公司名称进行分词处理,得到分词结果;c.构造与所述分词结果相应的正则表达式;d.访问所述URL并提取对应的网站标题;e.将所述正则表达式与所述网站标题进行匹配,并根据匹配结果对所述URL进行清洗。2.根据权利要求1所述的一种基于正则表达式的URL清洗方法,其特征在于:所述的步骤a中,是根据爬取主题进行设置对应的爬取关键词,并利用Python爬虫进行获取所述爬取关键词相关联的URL,并同时爬取所述URL对应的公司名称。3.根据权利要求1所述的一种基于正则表达式的URL清洗方法,其特征在于:所述的步骤b中,进一步统计所述分词结果的词频;所述的步骤c中,根据所述分词结果的词频进行构造所述分词结果相应的正则表达式。4.根据权利要求3所述的一种基于正则表达式的URL清洗方法,其特征在于:所述的步骤b中,是采用Python中的结巴分词工具对所述公司名称进行分词处理,并采用Python中的collections包里的Counter模块进行统计所述分词结果的词频。5.根据权利要求3所述的一种基于正则表达式的URL清洗方法,其特征在于:所述的步骤c中,是通过对所述分词结果的词频进行从大到小的排序,并对排序在前的预设数量的分词结果进行构造相应的正则表达式;或者,采用阈值法对所述分词结果的词频进行计算,并...
【专利技术属性】
技术研发人员:陈鑫,肖龙源,蔡振华,李稀敏,刘晓葳,谭玉坤,
申请(专利权)人:厦门快商通信息技术有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。