CN106709052A - 一种基于关键词的主题网络爬虫设计方法 - Google Patents

一种基于关键词的主题网络爬虫设计方法 Download PDF

Info

Publication number
CN106709052A
CN106709052A CN201710011216.1A CN201710011216A CN106709052A CN 106709052 A CN106709052 A CN 106709052A CN 201710011216 A CN201710011216 A CN 201710011216A CN 106709052 A CN106709052 A CN 106709052A
Authority
CN
China
Prior art keywords
keyword
theme
url
vector
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710011216.1A
Other languages
English (en)
Other versions
CN106709052B (zh
Inventor
陈端兵
杨柳
傅彦
周俊临
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710011216.1A priority Critical patent/CN106709052B/zh
Publication of CN106709052A publication Critical patent/CN106709052A/zh
Application granted granted Critical
Publication of CN106709052B publication Critical patent/CN106709052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

本发明提供一种基于关键词的主题网络爬虫设计方法,包括:(1)配置主题关键词的搜索URL,形成初始种子超链接originalURL;(2)根据originalURL,在搜索引擎中进行检索并下载网页,基于网页内容抽取新闻的初步字段;(3)根据主题相关性算法,得到每篇新闻与主题的相似性,将与主题相关的新闻字段保留下来放入公共队列newsQueue中,过滤掉与主题不相关的新闻;(4)根据nextPageURL下载下一页的网页内容,抽取出nextPageURL和步骤(3)所述的相关字段,将后者放入公共队列newsQueue中,不断重复步骤(4),直到没有下一页超链接nextPageURL为止;(5)从newsQueue中取出URL交给爬虫处理线程,即消费者线程;本发明提高了主题网络爬虫的爬取效率,增强了爬取出的URL资源的有效性。

Description

一种基于关键词的主题网络爬虫设计方法
技术领域
本发明涉及网络信息处理技术领域,尤其涉及一种基于关键词的主题网络爬虫设计方法。
背景技术
随着互联网的发展,给人们带来丰富的信息资源的同时也给传统的搜索引擎带来了威胁,资源的覆盖率,搜索结果的准确性和相关性均有所下降,用户的搜索难度日益增大。因此,主题爬虫型搜索引擎应运而生,近几年得到了快速的发展。
网络爬虫是一种自动抓取网页并提取网页内容的程序,其目的是从互联网中获取信息资源。网络爬虫主要分为两大类:通用爬虫和主题爬虫。通用网络爬虫是一般的网络爬虫,它是根据初始URL种子集采取一定的爬取策略,如广度优先策略或深度优先策略进行网页爬取的过程。通用网络爬虫的URL种子集可以是任意的门户网站,不加过滤的收集全部网页。
主题爬虫是按照预先定义的爬取主题,在给定初始URL种子集合后,根据一定的分析算法,对待爬取网页进行主题相关分析,过滤与主题不相关的网页,将与主题相关的链接放入待爬取队列中,重复这个过程,直到满足一定条件为止。主题爬虫的URL种子集则必须是事先定义的与主题高度相关的页面,它只关注与主题相关的网页链接,在爬行过程中尽可能多地发现与主题相关的网页,减少无关网页的下载。
在爬虫系统中,待爬取URL队列是最重要的一部分。待爬取URL队列以什么样的顺序排列,然后进行抓取是一个很重要的问题。而决定这些URL排列顺序的方法,叫做抓取策略。常见的抓取策略有深度优先遍历策略、广度优先遍历策略、反向链接数策略、PartialPageRank策略、OPIC策略、大战优先策略。
主题爬虫需要对抓取的页面进行主题相关性分析,过滤相关性弱的网页,只保留主题相关性强的网页,主题相关性算法主要归纳为三种:基于文字内容的启发式方法、基于Web超链接图评价的方法和基于分类器预测的方法。基于文字内容的启发方法主要利用了Web网页文本内容、URL字符串、锚文字等文字内容信息,算法主要包括:Best first search方法、Fish search方法以及Shark search方法。基于Web超链接图评价的方法的基本思想来自于文献计量学的引文分析理论,算法主要包括:BackLink方法、PageRank方法。而基于分类器预测的方法可以基于分类模型来描述用户感兴趣的主题和预测网页的主题相关度。
通过以上研究分析发现,目前已经有很多关于主题爬虫的研究,但是如何合理地利用海量的资源信息,如何提高爬取网页的主题相关度,过滤掉相关度弱的网页还有待进一步研究。
发明内容
发明的目的在于解决上述现有技术存在的缺陷,提供一种高效快速的爬取特定主题网络资源的主题网络爬虫的设计方法。
为实现上述发明目的,本发明基于关键词的主题网络爬虫的设计方法,包括:
一种基于关键词的主题网络爬虫设计方法,包括以下步骤:
(1)配置主题关键词的搜索URL,形成初始种子超链接originalURL,其形式为“搜索引擎域名+主题关键词+搜索结果起始页”;
(2)根据originalURL,在搜索引擎中进行检索并下载网页,根据网页内容获取初步字段,所述初步字段包括:标题、概要、URL和下一页超链接nextPageURL;其中,标题、概要和URL为抓取关键词;
(3)根据主题相关性算法,利用所述标题和概要,进行主题相关性计算,得到每篇新闻与主题的相似性,将与主题相关的新闻字段(URL、标题、概要等)保留下来放入公共队列newsQueue中,过滤掉与主题不相关的新闻;
(4)根据nextPageURL下载下一页的网页内容,抽取出步骤(2)所述的抓取关键词以及nextPageURL,将与主题相关的抓取关键词放入公共队列newsQueue中,不断重复步骤(4),直到没有下一页超链接(提取出的nextPageURL字段为空)为止;
(5)从newsQueue中取出URL交给爬虫处理线程,即消费者线程;
所述主题相关性算法包括以下步骤:
(I)选取主题词集,获取训练集
选定主题关键词,在搜索引擎中搜索得到相应关键词的Web文件和文本文件,作为word2vector的训练集;
(II)利用word2vector工具将主题关键词转换为向量
用word2vector工具对上一步得到的训练集进行训练,训练后,得到一个vectors.bin的二进制文件,利用该文件,将主题关键词转换为向量,得到向量集
其中表示主题词j的向量,一共有n个主题词,得到n个主题向量;
(III)选取m个待处理Web文档的特征词,并获取其特征向量
采用分词方法对文档进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,即可得到每个词的最终权重w,最后,选取权重w排名前m位的词作为特征词,通过vectors.bin文件,将这m个特征词转换为向量,得到向量集其中表示特征词i的向量;
(IV)计算向量集s和向量集d的相似性
将d中向量与s中每个向量求余相似性得到
其中,表示d中第i个向量的第k个维度上的数值,k从1取到向量的维数。同理表示s中第j个向量的第k维上的数值,k从1取到向量的维数。
取余弦相似性最大值即为该向量与主题词的相似性,这样计算完d中每个向量与s中每个向量的相似性以后得到一个m维向量,将每一维值相加,并进行归一化(除以m)后得到待处理文档最终的主题相似性sim(s,d)
(VI)设定阈值,URL入库
设定一个阈值K,如果sim(s,d)>K,则将URL标题、摘要存入URL库,Web文本存入原始网页库,以便后期分析处理。
进一步地,在上述步骤(1)之前还包括以下步骤:
(1)配置领域本体的描述信息并作为主题爬虫的模板,所述描述信息包括:主题关键词、抓取关键词;其中,主题关键词是指根据主题确定的关键词并且需要提交给搜索引擎进行资源检索的关键词;抓取关键词是指最终要爬取的有效信息所对应的关键词;
(2)确定主题关键词集合。
进一步地,确定主题关键词集合的方法包括以下步骤:
(I)人工挑选主题关键词,即在搜索引擎中检索有关主题的内容,在内容中抽取与主题相关的关键词,存储在数据库表中;
(II)把(I)中人工挑选出的关键词作为搜索关键词在搜索引擎中进行检索,检索出的内容存储在文本文件中;
(III)对该文本文件进行分词和采用TF-IDF算法进行词频排序后,取排名靠前的关键词作为主题关键词存储数据库中。TF-IDF算法具体如下:
对文本文件进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,这个权重根据这个词的标签的重要性来定,如果这个词出现在标题中,那么它的权重就设定高一点,如果这个词出现在内容中,权重就低一点,计算每个词的词频和权重的乘积得到每个词的最终权重,根据最终权重值的大小,选择权重高的前若干个关键词作为主题关键词即可,关键词最终权重wf计算公式如下:
其中,i表示不同的标签,wi表示不同标签下关键词的权重系数,fi表示关键词在该文本文件中该标签下出现的次数;
(IV)再重新把数据库表中的关键词作为搜索关键词在搜索引擎中进行搜索,重复这样的检索和词频排序动作,以不断地添加新的关键词存入数据库表中,最后数据库表中的所有关键词即为主题关键词。
进一步地,步骤(5)所述从newsQueue中取出URL交给爬虫处理线程,即消费者线程具体包括以下步骤:
下载URL对应网页,解析出正文和步骤(2)中获得的对应新闻的抓取关键词形成新闻的完整信息保存到数据库中,不断重复,直到待抓取newsQueue队列库中没有可以取出的URL为止。
有益效果:
本发明提供的基于关键词的主题网络爬虫设计方法,通过搜索引擎全网爬取与主题相关的内容,而非针对特定网站,大大提高了爬取的广泛性,增加了URL资源的数量;针对爬取结果与主题相关性弱的问题,通过主题词集与网页内容的相似性算法对爬行网页进行主题相关分析,过滤与主题不相关的URL,保留与主题相关的URL,在爬行过程中尽可能多地发现与主题相关的网页,减少无关网页的下载。这样,大大提高了主题网络爬虫的爬取效率,增强了爬取出的URL资源的有效性。
附图说明
图1是本发明基于关键词的主题网络爬虫设计方法的生产者线程的具体实施流程图;
图2是本发明基于关键词的主题网络爬虫设计方法的消费者线程的具体实施流程图;
图3是本发明基于关键词的主题网络爬虫设计方法的生产者消费者模型图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于关键词的主题网络爬虫设计方法,包括以下步骤:
(1)配置主题关键词的搜索URL,形成初始种子超链接originalURL,其形式为“搜索引擎域名+主题关键词+搜索结果起始页”;
(2)根据originalURL,在搜索引擎中进行检索并下载网页,根据网页内容获取初步字段,所述初步字段包括:标题、概要、URL和下一页超链接nextPageURL;其中,标题、概要和URL为抓取关键词;
(3)根据主题相关性算法,利用所述标题和概要,进行主题相关性计算,得到每篇新闻与主题的相似性,将与主题相关的新闻字段(URL、标题、概要等)保留下来放入公共队列newsQueue中,过滤掉与主题不相关的新闻;
(4)根据nextPageURL下载下一页的网页内容,抽取出步骤(2)所述的抓取关键词以及nextPageURL,将与主题相关的抓取关键词放入公共队列newsQueue中,不断重复步骤(4),直到没有下一页超链接(提取出的nextPageURL字段为空)为止;
(5)从newsQueue中取出URL交给爬虫处理线程,即消费者线程;
所述主题相关性算法包括以下步骤:
(I)选取主题词集,获取训练集
选定主题关键词,在搜索引擎中搜索得到相应关键词的Web文件和文本文件,作为word2vector的训练集;
(II)利用word2vector工具将主题关键词转换为向量
用word2vector工具对上一步得到的训练集进行训练,训练后,得到一个vectors.bin的二进制文件,利用该文件,将主题关键词转换为向量,得到向量集
其中表示主题词j的向量,一共有n个主题词,得到n个主题向量;
(III)选取m个待处理Web文档的特征词,并获取其特征向量
采用分词方法对文档进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,即可得到每个词的最终权重w,最后,选取权重w排名前m位的词作为特征词,通过vectors.bin文件,将这m个特征词转换为向量,得到向量集其中表示特征词i的向量;
(IV)计算向量集s和向量集d的相似性
将d中向量与s中每个向量求余相似性得到
其中,表示d中第i个向量的第k个维度上的数值,k从1取到向量的维数。同理表示s中第j个向量的第k维上的数值,k从1取到向量的维数。
取余弦相似性最大值即为该向量与主题词的相似性,这样计算完d中每个向量与s中每个向量的相似性以后得到一个m维向量,将每一维值相加,并进行归一化(除以m)后得到待处理文档最终的主题相似性sim(s,d)
(VI)设定阈值,URL入库
设定一个阈值K,如果sim(s,d)>K,则将URL标题、摘要存入URL库,Web文本存入原始网页库,以便后期分析处理。
本发明基于关键词的主题网络爬虫的设计方法,通过主题关键词在搜索引擎中全网爬取网页,计算主题词集与网页内容的相似性对爬行网页进行主题相关分析,过滤与主题不相关的URL,将与主题相关的URL放入待爬取队列中。在爬行过程中尽可能多地发现与主题相关的网页,减少无关网页的下载。这样,大大提高了主题爬虫的爬取效率,增强爬取出的URL的有效性。
对于主题爬虫性能的评价,重复率、覆盖率和准确率是常用的判断指标。覆盖率和准确率可以定量化的判断主题爬虫的过滤能力,保留有效内容的能力。重复率是指一定量的文章中内容相同的文章数目占总文章数百分比;覆盖率是抓取的主题相关网页数量与Web中主题相关网页数量的百分比;准确率是指抓取到的主题相关网页的数量与所有抓取网页数量的百分比。由于很难估计Web中主题相关网页数量,所以使用重复率和准确率作为评估指标。显然,重复率越高,爬虫爬取网页效果越差,准确率越高表示爬虫将更多的时间花在了抓取主题相关页面上,忽略了那些与主题无关的网页,说明其抓取主题能力越强。下面是具体的实验结果:
(1)文章去重结果
表1:主题爬虫的去重结果
文章数(篇) 重复数(篇) 重复率
1000 63 6.3%
5000 374 7.48%
10000 848 8.48%
(2)通过对种子URL的分析和计算主题相关性对种子URL进行过滤,得到与主题相关的URL的过程,分析得到过滤策略的准确率:
表2:主题爬虫的准确率结果
通过上述表1和表2的实验结果,我们可以看出,在去重效果上,文章的重复率基本维持在10%以内,重复率较低,说明本文提出的主题爬虫方法性能较好。而准确率能达到75%,说明爬虫花费了更多的时间在抓取主题相关页面上,说明本发明提出的主题相关性算法有较好的效果,提高了与主题相关网页的爬取效率。另外,在涉及主题相关性计算时,本发明只将文章的标题和摘要纳入了主题相关性计算的范围,相比于将全文进行主题相关性计算的方法,本发明提出的方法在计算主题相关性方面,用时更短,能够更快速地爬取网页。
优选地,在上述步骤(1)之前,还包括以下步骤:
(1)配置领域本体的描述信息并作为主题爬虫的模板,所述描述信息包括:主题关键词、抓取关键词;其中,主题关键词是指根据主题确定的关键词并且需要提交给搜索引擎进行资源检索的关键词;抓取关键词是指最终要爬取的有效信息所对应的关键词;
(2)确定主题关键词集合。
本步骤是基于关键词的主题网络爬虫设计方法的关键一步——怎样确定主题关键词集合。本步骤用关键词集合来描述我们的主题,关键词集合的准确度直接决定主题的准确度,我们必须要挑选出与主题关联性最强的一些词语,如在“食品安全”这个主题下,我们可以找到以下与主题相关的词语,如“食品添加剂”,“食品检测”,“食品原料”等等。因此,本发明选择了人工加自动提取主题的方法,首先人工地挑选出与主题相关的词语,然后通过这些词语在搜索引擎中搜索内容,根据内容中词语的排名,自动地确定其他关键词,最终形成我们的主题关键词集合。优选地,步骤(2)确定主题关键词集合的方法包括以下步骤:
(I)人工挑选主题关键词,即在搜索引擎中检索有关主题的内容,在内容中抽取与主题相关的关键词,存储在数据库表中;
(II)把(I)中人工挑选出的关键词作为搜索关键词在搜索引擎中进行检索,检索出的内容存储在文本文件中;
(III)对该文本文件进行分词和TF-IDF算法词频排序后,取排名靠前的关键词作为主题关键词存储在数据库中。TF-IDF算法具体如下:
对文本文件进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,这个权重根据这个词的标签的重要性来定,如果这个词出现在标题中,那么它的权重就设定高一点,如果这个词出现在内容中,权重就低一点,计算每个词的词频和权重的乘积得到每个词的最终权重,根据最终权重值的大小,选择权重高的前若干个关键词作为主题关键词即可,关键词最终权重wf计算公式如下:
其中,i表示不同的标签,wi表示不同标签下关键词的权重系数,fi表示关键词在该文本文件中该标签下出现的次数;
(IV)再重新把数据库表中的关键词作为搜索关键词在搜索引擎中进行搜索,重复这样的检索和词频排序动作,以不断地添加新的关键词存入数据库表中,最后数据库表中的所有关键词即为主题关键词。
通过人工与自动提取主题关键词相结合的方法,可以提高被描述的主题的准确性。如果单靠人工挑选,不同的人对于主题的理解的侧重点不同,可能挑选出与主题不同关联度的词语,并且人工挑选相对较慢,效率低下,而简单地自动获取关键词也不能达到很好的效果。因此采用人工加自动提取主题的方式,可以扬长避短,互相补充,既能提高提取主题关键词的准确率也能获取更多与主题相关的关键词集合。优选地,步骤(5)所述从newsQueue中取出URL交给爬虫处理线程,即消费者线程具体包括以下步骤:
下载URL对应网页,解析出正文和步骤(3)中对应URL的抓取关键词形成新闻的完整信息保存到数据库中,不断重复,直到待抓取news队列库中没有可以取出的URL为止。
实施例:
图1是关于生产者线程的具体实施流程图,具体步骤如下:
(1)配置领域本体的描述信息并作为主题爬虫的模板,这些描述信息包括:主题关键词、抓取关键词。
(2)确定“食品安全”主题关键词集合,得到食品安全主题关键词表foodsecureWord。
在本实施中,采用百度、google、bing和360作为搜索引擎,设置主题为“食品安全”,首先在搜索引擎中检索有关食品安全的内容,在内容中抽取如“食品安全法”,“食品生产安全标准”,“食品超标”,“食品添加剂”等与食品安全相关的关键词,存储在数据库表foodsecureWord中,这就是所谓的人工挑选主题关键词的过程。然后再把这些关键词作为搜索关键词在搜索引擎中进行检索,检索出的内容存储在文本文件中,最后,对该文本文件进行分词和词频排序(如采用TF-IDF算法)后,取前10或20名的关键词作为主题关键词存储在foodsecureWord中,再重新把foodsecureWord中的关键词作为搜索关键词在搜索引擎中进行搜索,重复这样的检索和词频排序动作,这样就可以不断地添加新的关键词存入foodsecureWord中,最后foodsecureWord表中的所有关键词即为主题关键词。
(3)形成初始种子超链接originalURL。
根据表foodsecureWord中的主题关键词在搜索引擎中进行检索,配置搜索URL信息,形成初始种子超链接originalURL,其一般形式为:搜索引擎域名+搜索关键词+搜索结果起始页码,如360搜索“食品超标”的originalURL形式为:
http://news.haosou.com/ns?q=%E9%A3%9F%E5%93%81%E8%B6%85%E6%A0%87%20&pn=1,其中“q=”的后面为主题关键词的16进制编码,“&pn=1”表示当前结果从第一页开始。要获取下一页URL可通过上一页网页正则匹配出下一页URL。
(4)根据主题相关性,将与主题相关的抓取关键词放入队列newsQueue中。
根据originalURL,在搜索引擎中进行检索并下载网页,根据网页内容,抓取相关字段包括:“标题(title)”、“URL”、“概要(summary)”、“图片(img_src)”、“网站(siteName)”、“新闻时间(newsTime)”、“源网站(sourceURL)”、“下一页链接(nextPageURL)”。其中除下一页链接外,其他关键词均为抓取关键词,根据主题相关性算法,将与主题相关的抓取关键词对应地放入待抓取新闻队列newsQueue中。以上所有关键词均可通过分析网页内容,设定正则表达式对相关内容进行抽取。
4.1)生产者线程通过OriginalURL,下载网页,用Jsoup工具或者正则表达式可以抽取出其中的数据字段包括:“标题(title)”、“标题链接(URL)”、“内容概要(summary)”、“新闻来源(stieName)”、“图片(img_src)”、“新闻时间(newsTime)。获取到的URL信息如表3所示:
表3:URL信息
4.2)获取网页阶段,网页编码均统一为UTF-8格式,根据服务器返回网页html中的head区域中的charset标签后的内容得到网页的编码,若该编码为UTF-8,则直接返回网页,若为其他编码,则转码为UTF-8之后再返回html网页。
4.3)根据主题相关性算法,由于生产者线程目前获取到的数据字段中的标题和概要是与主题最相关的信息,因此取URL的标题和概要进行主题相关性计算,得到该URL和主题的相似度α,将主题相关的种子URL,即主题相似度α>0.6的URL的新闻信息,包括title、URL、summary、siteName、img_src和newsTime放入newsQueue中。
主题相关性算法步骤如下:
(I)选取主题词集,获取训练集
选定主题关键词,在搜索引擎中搜索得到相应关键词的Web文件和文本文件,作为word2vector的训练集;
(II)利用word2vector工具将主题关键词转换为向量
用word2vector工具对上一步得到的训练集进行训练,训练后,得到一个vectors.bin的二进制文件,利用该文件,将主题关键词转换为向量,得到向量集
其中表示主题词j的向量,一共有n个主题词,得到n个主题向量;
(III)选取m个待处理Web文档的特征词,并获取其特征向量
采用分词方法对文档进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,即可得到每个词的最终权重w,最后,选取权重w排名前m位的词作为特征词,通过vectors.bin文件,将这m个特征词转换为向量,得到向量集其中表示特征词i的向量;
(IV)计算向量集s和向量集d的相似性
将d中向量与s中每个向量求余相似性得到
其中,表示d中第i个向量的第k个维度上的数值,k从1取到向量的维数。同理表示s中第j个向量的第k维上的数值,k从1取到向量的维数。
取余弦相似性最大值即为该向量与主题词的相似性,这样计算完d中每个向量与s中每个向量的相似性以后得到一个m维向量,将每一维值相加,并进行归一化(除以m)后得到待处理文档最终的主题相似性sim(s,d)
(VI)设定阈值,URL入库
设定一个阈值K=0.6,如果sim(s,d)>K,则将URL标题、摘要存入URL库,Web文本存入原始网页库,以便后期分析处理。
(5)根据nextPageURL下载网页内容,抽取出步骤(3)所述的相关字段,
用步骤4.3)的方法计算主题相关性,将与主题相关的抓取关键词放入newsQueue中,不断重复步骤(5),直到没有nextPageURL为止;
(6)从newsQueue中取出URL交给爬虫处理线程,即消费者线程。
图2是消费者线程具体实施流程图,具体步骤如下:
如图2所示,消费者线程取出队列newsQueue中的URL,对URL下载相应的网页,利用正文提取算法,提取出URL的正文内容,和生产者线程抓取的关键词形成新闻的完整信息包括“标题(title)”、“标题链接(URL)”、“内容概要(summary)”、“新闻来源(stieName)”、“图片(img_src)”、“新闻时间(newsTime)”和“正文(content)”,最后,将完整的信息字段全部放入mysql数据库中。
图3是生产者消费者模型,用于调度和消费者线程,具体步骤如下:
如图3所示,当队列newsQueue为空时,就通知生产者进行生产URL,当队列中的URL过多或者已满时,生产者线程就通知消费者线程取出URL,这时候生产者自我阻塞,具体实现中调用了java多线程中的wait()和notify()机制。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种基于关键词的主题网络爬虫设计方法,其特征在于,包括以下步骤:
(1)配置主题关键词的搜索URL,形成初始种子超链接originalURL,其形式为“搜索引擎域名+主题关键词+搜索结果起始页”;
(2)根据originalURL,在搜索引擎中进行检索并下载网页,根据网页内容获取初步字段,所述初步字段包括:标题、概要、URL和下一页超链接nextPageURL;其中,标题、概要和URL为抓取关键词;
(3)根据主题相关性算法,利用所述标题和概要,进行主题相关性计算,得到每篇新闻与主题的相似性,将与主题相关的新闻字段(保留下来放入公共队列newsQueue中,过滤掉与主题不相关的新闻;所述与主题相关的新闻字段包括:URL、标题、概要;
(4)根据nextPageURL下载下一页的网页内容,抽取出步骤(2)所述的抓取关键词以及nextPageURL,将与主题相关的抓取关键词放入公共队列newsQueue中,不断重复步骤(4),直到没有下一页超链接为止;
(5)从newsQueue中取出URL交给爬虫处理线程,即消费者线程;
所述主题相关性算法包括以下步骤:
(I)选取主题词集,获取训练集
选定主题关键词,在搜索引擎中搜索得到相应关键词的Web文件和文本文件,作为word2vector的训练集;
(II)利用word2vector工具将主题关键词转换为向量
用word2vector工具对上一步得到的训练集进行训练,训练后,得到一个vectors.bin的二进制文件,利用该文件,将主题关键词转换为向量,得到向量集
s = { v → 1 , v → 2 , ... , v → j ... , v → n }
其中表示主题词j的向量,一共有n个主题词,得到n个主题向量;
(III)选取m个待处理Web文档的特征词,并获取其特征向量
采用分词方法对文档进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,即可得到每个词的最终权重w,最后,选取权重w排名前m位的词作为特征词,通过vectors.bin文件,将这m个特征词转换为向量,得到向量集其中表示特征词i的向量;
(IV)计算向量集s和向量集d的相似性
将d中向量与s中每个向量求余相似性得到
其中,表示d中第i个向量的第k个维度上的数值,k从1取到向量的维数;同理表示s中第j个向量的第k维上的数值,k从1取到向量的维数;
取余弦相似性最大值即为该向量与主题词的相似性,这样计算完d中每个向量与s中每个向量的相似性以后得到一个m维向量,将每一维值相加,并进行归一化后得到待处理文档最终的主题相似性sim(s,d)
s i m ( s , d ) = Σ i m m a x j ( s i m ( v → i ′ , v → j ) ) / m
(VI)设定阈值,URL入库
设定一个阈值K,如果sim(s,d)>K,则将URL标题、摘要存入URL库,Web文本存入原始网页库,以便后期分析处理。
2.根据权利要求1所述的基于关键词的主题网络爬虫设计方法,其特征在于,在步骤(1)之前,还包括以下步骤:
(1)配置领域本体的描述信息并作为主题爬虫的模板,所述描述信息包括:主题关键词、抓取关键词;其中,主题关键词是指根据主题确定的关键词并且需要提交给搜索引擎进行资源检索的关键词;抓取关键词是指最终要爬取的有效信息所对应的关键词;
(2)确定主题关键词集合。
3.根据权利要求2所述的基于关键词的主题网络爬虫设计方法,其特征在于,步骤(2)确定主题关键词集合的方法包括以下步骤:
(I)人工挑选主题关键词,即在搜索引擎中检索有关主题的内容,在内容中抽取与主题相关的关键词,存储在数据库表中;
(II)把(I)中人工挑选出的关键词作为搜索关键词在搜索引擎中进行检索,检索出的内容存储在文本文件中;
(III)对该文本文件进行分词和采用TF-IDF算法进行词频排序后,取排名靠前的关键词作为主题关键词存储数据库中,所述TF-IDF算法具体如下:
对文本文件进行分词,并计算每个词的词频,在每个词的词频上相应乘以一个权重,这个权重根据这个词的标签的重要性来定,如果这个词出现在标题中,那么它的权重就设定高一点,如果这个词出现在内容中,权重就低一点,计算每个词的词频和权重的乘积得到每个词的最终权重,根据最终权重值的大小,选择权重高的前若干个关键词作为主题关键词即可,关键词最终权重wf计算公式如下:
w f = Σ i = 1 2 w i f i ,
其中,i表示不同的标签,wi表示不同标签下关键词的权重系数,fi表示关键词在该文本文件中该标签下出现的次数;
(IV)再重新把数据库表中的关键词作为搜索关键词在搜索引擎中进行搜索,重复这样的检索和词频排序动作,以不断地添加新的关键词存入数据库表中,最后数据库表中的所有关键词即为主题关键词。
4.根据权利要求1所述的基于关键词的主题网络爬虫设计方法,其特征在于,步骤(5)所述从newsQueue中取出URL交给爬虫处理线程,即消费者线程,具体包括以下步骤:
下载URL对应网页,解析出正文和步骤(2)中获得的对应新闻的抓取关键词形成新闻的完整信息保存到数据库中,不断重复,直到待抓取newsQueue队列库中没有可以取出的URL为止。
CN201710011216.1A 2017-01-06 2017-01-06 一种基于关键词的主题网络爬虫设计方法 Active CN106709052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710011216.1A CN106709052B (zh) 2017-01-06 2017-01-06 一种基于关键词的主题网络爬虫设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710011216.1A CN106709052B (zh) 2017-01-06 2017-01-06 一种基于关键词的主题网络爬虫设计方法

Publications (2)

Publication Number Publication Date
CN106709052A true CN106709052A (zh) 2017-05-24
CN106709052B CN106709052B (zh) 2020-09-04

Family

ID=58908679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710011216.1A Active CN106709052B (zh) 2017-01-06 2017-01-06 一种基于关键词的主题网络爬虫设计方法

Country Status (1)

Country Link
CN (1) CN106709052B (zh)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203623A (zh) * 2017-05-26 2017-09-26 山东省科学院情报研究所 网络爬虫系统的负载均衡调节方法
CN107273499A (zh) * 2017-06-16 2017-10-20 成都布林特信息技术有限公司 基于垂直搜索引擎的数据抓取方法
CN107291930A (zh) * 2017-06-29 2017-10-24 环球智达科技(北京)有限公司 权重数的计算方法
CN107357888A (zh) * 2017-07-10 2017-11-17 北京小度信息科技有限公司 原料信息的提供方法、装置和电子设备
CN107612893A (zh) * 2017-09-01 2018-01-19 北京百悟科技有限公司 短信的审核系统和方法以及构建短信审核模型方法
CN107704535A (zh) * 2017-09-21 2018-02-16 广州大学 基于主题相似度的网页信息获取方法、装置及系统
CN107908698A (zh) * 2017-11-03 2018-04-13 广州索答信息科技有限公司 一种主题网络爬虫方法、电子设备、存储介质、系统
CN107943991A (zh) * 2017-12-01 2018-04-20 成都嗨翻屋文化传播有限公司 一种基于内存数据库的分布式爬虫框架及实现方法
CN108009293A (zh) * 2017-12-26 2018-05-08 北京百度网讯科技有限公司 视频标签生成方法、装置、计算机设备和存储介质
CN108052632A (zh) * 2017-12-20 2018-05-18 成都律云科技有限公司 一种网络信息获取方法、系统及企业信息搜索系统
CN108334591A (zh) * 2018-01-30 2018-07-27 天津中科智能识别产业技术研究院有限公司 基于聚焦爬虫技术的行业分析方法及系统
CN108681571A (zh) * 2018-05-05 2018-10-19 吉林大学 基于Word2Vec的主题爬虫系统和方法
CN108984568A (zh) * 2017-06-04 2018-12-11 北京询达数据科技有限公司 一种全自动互联网暗网搜索引擎的设计方法
CN109063485A (zh) * 2018-07-27 2018-12-21 东北大学秦皇岛分校 一种基于漏洞平台的漏洞分类统计系统及方法
CN109241387A (zh) * 2018-08-28 2019-01-18 四川长虹电器股份有限公司 抓取社交媒体信息的爬虫分析方法
CN109408706A (zh) * 2018-09-20 2019-03-01 上海掌门科技有限公司 一种图像过滤方法
CN109614534A (zh) * 2018-11-29 2019-04-12 武汉大学 一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法
CN110119765A (zh) * 2019-04-18 2019-08-13 浙江工业大学 一种基于Seq2seq框架的关键词提取方法
CN110309246A (zh) * 2019-05-24 2019-10-08 中国地质调查局发展研究中心 一种互联网地质数据检索与获取的方法及其装置
CN110309386A (zh) * 2018-02-28 2019-10-08 腾讯科技(深圳)有限公司 一种网页爬取的方法和装置
CN110390061A (zh) * 2019-07-29 2019-10-29 电子科技大学 一种基于社交媒体的空间主题查询方法
CN110399464A (zh) * 2019-07-30 2019-11-01 广州吉信网络科技开发有限公司 一种相似新闻判别方法、系统及电子设备
CN110569430A (zh) * 2019-08-13 2019-12-13 河北上通云天网络科技有限公司 一种移动端网络爬虫系统
CN110609952A (zh) * 2019-08-15 2019-12-24 中国平安财产保险股份有限公司 数据采集方法、系统和计算机设备
CN110866126A (zh) * 2019-11-22 2020-03-06 福建工程学院 一种高校网络舆情风险评估方法
CN111143649A (zh) * 2019-12-09 2020-05-12 杭州迪普科技股份有限公司 一种网页搜索方法及装置
CN111191095A (zh) * 2018-11-14 2020-05-22 中国移动通信集团河北有限公司 网页数据获取方法、装置、设备及介质
CN111324725A (zh) * 2020-02-17 2020-06-23 昆明理工大学 一种话题获取方法、终端、计算机可读存储介质
CN111723286A (zh) * 2020-05-29 2020-09-29 北京明略软件系统有限公司 一种数据处理的方法及装置
CN111767482A (zh) * 2020-05-21 2020-10-13 中国地质大学(武汉) 一种聚焦网络爬虫自适应爬取方法
CN113065051A (zh) * 2021-04-02 2021-07-02 西南石油大学 一种可视化农业大数据分析交互系统
CN113239253A (zh) * 2021-04-09 2021-08-10 北京皮尔布莱尼软件有限公司 一种网络爬虫实现方法、系统、计算设备及存储介质
CN113536085A (zh) * 2021-06-23 2021-10-22 西华大学 基于组合预测法的主题词搜索爬虫调度方法及其系统
CN113792210A (zh) * 2021-08-19 2021-12-14 广州云硕科技发展有限公司 一种基于语义实时分析的热控方法及系统
US11941073B2 (en) 2019-12-23 2024-03-26 97th Floor Generating and implementing keyword clusters
CN110609952B (zh) * 2019-08-15 2024-04-26 中国平安财产保险股份有限公司 数据采集方法、系统和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662954A (zh) * 2012-03-02 2012-09-12 杭州电子科技大学 一种基于url字符串信息学习的主题爬虫系统的实现方法
CN103310013A (zh) * 2013-07-02 2013-09-18 北京航空航天大学 一种面向主题的网页采集系统
CN105528422A (zh) * 2015-12-07 2016-04-27 中国建设银行股份有限公司 一种主题爬虫处理方法及装置
US20160350423A1 (en) * 2014-03-27 2016-12-01 International Business Machines Corporation Optimizing web crawling through web page pruning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662954A (zh) * 2012-03-02 2012-09-12 杭州电子科技大学 一种基于url字符串信息学习的主题爬虫系统的实现方法
CN103310013A (zh) * 2013-07-02 2013-09-18 北京航空航天大学 一种面向主题的网页采集系统
US20160350423A1 (en) * 2014-03-27 2016-12-01 International Business Machines Corporation Optimizing web crawling through web page pruning
CN105528422A (zh) * 2015-12-07 2016-04-27 中国建设银行股份有限公司 一种主题爬虫处理方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TAO PENG,等: "Adaptive Topical Web Crawling for Domain-Specific Resource Discovery Guided by Link-Contex", 《MICAI 2006: ADVANCES IN ARTIFICIAL INTELLIGENCE》 *
徐宁: "主题爬虫搜索策略及关键技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑第I138-I514辑》 *
许鑫: "《于文本特征计算的信息分析方法》", 30 November 2015 *

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203623B (zh) * 2017-05-26 2020-09-22 山东省科学院情报研究所 网络爬虫系统的负载均衡调节方法
CN107203623A (zh) * 2017-05-26 2017-09-26 山东省科学院情报研究所 网络爬虫系统的负载均衡调节方法
CN108984568A (zh) * 2017-06-04 2018-12-11 北京询达数据科技有限公司 一种全自动互联网暗网搜索引擎的设计方法
CN107273499A (zh) * 2017-06-16 2017-10-20 成都布林特信息技术有限公司 基于垂直搜索引擎的数据抓取方法
CN107291930A (zh) * 2017-06-29 2017-10-24 环球智达科技(北京)有限公司 权重数的计算方法
CN107357888A (zh) * 2017-07-10 2017-11-17 北京小度信息科技有限公司 原料信息的提供方法、装置和电子设备
CN107612893A (zh) * 2017-09-01 2018-01-19 北京百悟科技有限公司 短信的审核系统和方法以及构建短信审核模型方法
CN107612893B (zh) * 2017-09-01 2020-06-02 北京百悟科技有限公司 短信的审核系统和方法以及构建短信审核模型方法
CN107704535A (zh) * 2017-09-21 2018-02-16 广州大学 基于主题相似度的网页信息获取方法、装置及系统
CN107908698A (zh) * 2017-11-03 2018-04-13 广州索答信息科技有限公司 一种主题网络爬虫方法、电子设备、存储介质、系统
CN107908698B (zh) * 2017-11-03 2021-04-13 广州索答信息科技有限公司 一种主题网络爬虫方法、电子设备、存储介质、系统
CN107943991A (zh) * 2017-12-01 2018-04-20 成都嗨翻屋文化传播有限公司 一种基于内存数据库的分布式爬虫框架及实现方法
CN108052632B (zh) * 2017-12-20 2022-02-18 成都律云科技有限公司 一种网络信息获取方法、系统及企业信息搜索系统
CN108052632A (zh) * 2017-12-20 2018-05-18 成都律云科技有限公司 一种网络信息获取方法、系统及企业信息搜索系统
CN108009293A (zh) * 2017-12-26 2018-05-08 北京百度网讯科技有限公司 视频标签生成方法、装置、计算机设备和存储介质
CN108334591A (zh) * 2018-01-30 2018-07-27 天津中科智能识别产业技术研究院有限公司 基于聚焦爬虫技术的行业分析方法及系统
CN110309386A (zh) * 2018-02-28 2019-10-08 腾讯科技(深圳)有限公司 一种网页爬取的方法和装置
CN110309386B (zh) * 2018-02-28 2023-02-07 腾讯科技(深圳)有限公司 一种网页爬取的方法和装置
CN108681571B (zh) * 2018-05-05 2024-02-27 吉林大学 基于Word2Vec的主题爬虫系统和方法
CN108681571A (zh) * 2018-05-05 2018-10-19 吉林大学 基于Word2Vec的主题爬虫系统和方法
CN109063485A (zh) * 2018-07-27 2018-12-21 东北大学秦皇岛分校 一种基于漏洞平台的漏洞分类统计系统及方法
CN109063485B (zh) * 2018-07-27 2020-08-04 东北大学秦皇岛分校 一种基于漏洞平台的漏洞分类统计系统及方法
CN109241387A (zh) * 2018-08-28 2019-01-18 四川长虹电器股份有限公司 抓取社交媒体信息的爬虫分析方法
CN109408706A (zh) * 2018-09-20 2019-03-01 上海掌门科技有限公司 一种图像过滤方法
CN111191095A (zh) * 2018-11-14 2020-05-22 中国移动通信集团河北有限公司 网页数据获取方法、装置、设备及介质
CN109614534B (zh) * 2018-11-29 2021-08-17 武汉大学 一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法
CN109614534A (zh) * 2018-11-29 2019-04-12 武汉大学 一种基于深度学习和增强学习的聚焦爬虫链接价值预测方法
CN110119765A (zh) * 2019-04-18 2019-08-13 浙江工业大学 一种基于Seq2seq框架的关键词提取方法
CN110309246A (zh) * 2019-05-24 2019-10-08 中国地质调查局发展研究中心 一种互联网地质数据检索与获取的方法及其装置
CN110390061A (zh) * 2019-07-29 2019-10-29 电子科技大学 一种基于社交媒体的空间主题查询方法
CN110399464B (zh) * 2019-07-30 2023-04-07 广州吉信网络科技开发有限公司 一种相似新闻判别方法、系统及电子设备
CN110399464A (zh) * 2019-07-30 2019-11-01 广州吉信网络科技开发有限公司 一种相似新闻判别方法、系统及电子设备
CN110569430A (zh) * 2019-08-13 2019-12-13 河北上通云天网络科技有限公司 一种移动端网络爬虫系统
CN110609952B (zh) * 2019-08-15 2024-04-26 中国平安财产保险股份有限公司 数据采集方法、系统和计算机设备
CN110609952A (zh) * 2019-08-15 2019-12-24 中国平安财产保险股份有限公司 数据采集方法、系统和计算机设备
CN110866126A (zh) * 2019-11-22 2020-03-06 福建工程学院 一种高校网络舆情风险评估方法
CN111143649A (zh) * 2019-12-09 2020-05-12 杭州迪普科技股份有限公司 一种网页搜索方法及装置
US11941073B2 (en) 2019-12-23 2024-03-26 97th Floor Generating and implementing keyword clusters
CN111324725A (zh) * 2020-02-17 2020-06-23 昆明理工大学 一种话题获取方法、终端、计算机可读存储介质
CN111324725B (zh) * 2020-02-17 2023-05-16 昆明理工大学 一种话题获取方法、终端、计算机可读存储介质
CN111767482B (zh) * 2020-05-21 2023-06-06 中国地质大学(武汉) 一种聚焦网络爬虫自适应爬取方法
CN111767482A (zh) * 2020-05-21 2020-10-13 中国地质大学(武汉) 一种聚焦网络爬虫自适应爬取方法
CN111723286A (zh) * 2020-05-29 2020-09-29 北京明略软件系统有限公司 一种数据处理的方法及装置
CN113065051A (zh) * 2021-04-02 2021-07-02 西南石油大学 一种可视化农业大数据分析交互系统
CN113239253B (zh) * 2021-04-09 2024-02-23 北京皮尔布莱尼软件有限公司 一种网络爬虫实现方法、系统、计算设备及存储介质
CN113239253A (zh) * 2021-04-09 2021-08-10 北京皮尔布莱尼软件有限公司 一种网络爬虫实现方法、系统、计算设备及存储介质
CN113536085A (zh) * 2021-06-23 2021-10-22 西华大学 基于组合预测法的主题词搜索爬虫调度方法及其系统
CN113792210A (zh) * 2021-08-19 2021-12-14 广州云硕科技发展有限公司 一种基于语义实时分析的热控方法及系统

Also Published As

Publication number Publication date
CN106709052B (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN106709052A (zh) 一种基于关键词的主题网络爬虫设计方法
CN102930059B (zh) 一种聚焦爬虫的设计方法
CN105843965B (zh) 一种基于url主题分类的深层网络爬虫表单填充方法和装置
CN103823824B (zh) 一种借助互联网自动构建文本分类语料库的方法及系统
US9430569B2 (en) System and method for aggregating and ranking data from a plurality of web sites
CN103914478B (zh) 网页训练方法及系统、网页预测方法及系统
CN103020164B (zh) 一种基于多语义分析和个性化排序的语义检索方法
CN102760151B (zh) 开源软件获取与搜索系统的实现方法
CN105138558B (zh) 基于用户访问内容的实时个性化信息采集方法
Peters et al. Content extraction using diverse feature sets
TWI695277B (zh) 自動化網站資料蒐集方法
CN103294681B (zh) 一种搜索结果的生成方法和装置
CN106951422A (zh) 网页训练的方法和装置、搜索意图识别的方法和装置
CN103778262B (zh) 基于叙词表的信息检索方法及装置
CN105574047A (zh) 一种基于网站主页特征分析的中文网站分类方法和系统
CN103226578A (zh) 面向医学领域的网站识别和网页细分类的方法
CN105095368A (zh) 一种对新闻信息进行排序的方法及装置
CN107908698A (zh) 一种主题网络爬虫方法、电子设备、存储介质、系统
CN110543595A (zh) 一种站内搜索系统及方法
CN108959580A (zh) 一种标签数据的优化方法及系统
CN103914538B (zh) 基于锚文本上下文和链接分析的主题抓取方法
CN108549636A (zh) 一种赛事文字直播关键句抽取方法
CN106649823A (zh) 基于综合主题词垂直搜索和聚焦爬虫的网页分类识别方法
CN104572720B (zh) 一种网页信息排重的方法、装置及计算机可读存储介质
Kumar et al. Learnable focused meta crawling through Web

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant