CN103226609A - 一种web聚焦搜索系统的搜索方法 - Google Patents
一种web聚焦搜索系统的搜索方法 Download PDFInfo
- Publication number
- CN103226609A CN103226609A CN2013101592651A CN201310159265A CN103226609A CN 103226609 A CN103226609 A CN 103226609A CN 2013101592651 A CN2013101592651 A CN 2013101592651A CN 201310159265 A CN201310159265 A CN 201310159265A CN 103226609 A CN103226609 A CN 103226609A
- Authority
- CN
- China
- Prior art keywords
- link
- network address
- webpage
- commodity
- search
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种WEB聚焦搜索系统的搜索方法,设定爬虫程序分别为网页搜集线程和网页处理线程,用户根据关键词通过网页搜集线程检索电子商务网站的网络地址链接域名,然后通过建立哈希表去除重复链接,存入链接缓冲池等待网页处理线程解析及爬取信息,最后将爬取的信息存入到数据库中的数据模型,用户通过数据库查看搜索结果;采用以上方法,实现了爬虫程序多线程分别处理,使其便于管理和加快运行速度,利用哈希表去重,相对于现有技术中的搜索引擎可以排除掉大量的无关链接,使人们获取有价值的信息;通过synchronized关键字加锁,保证取出链接的唯一性,防止多次爬取导致的资源浪费以及数据重复,使用户有效地提取和利用这些信息与资源。
Description
技术领域
本发明涉及一种计算机网络搜索引擎的技术领域,特别是涉及一种WEB聚焦搜索系统的搜索方法。
背景技术
在如今的网络世界,随着各种B2C、C2C、B2B的网站的成长和各种测评网站的建设。足不出户的网络购物已然成为大家生活中的一部分。现代搜索引擎,主要是指通用搜索引擎,如Google,百度、Yahoo等,能够整合大量的信息,在用户通过搜索引擎搜索的时候以极快的速度查询数据库,并将结果返回给用户。用户能够触及的信息量成倍的增长,相应的网络上的信息量也爆炸似的增加。现代搜索引擎具有很高的通用性,可是它也遇到了它的瓶颈。众所周知,通用搜索引擎虽然具有很高的通用性,可是通用性越高,搜索到的相应的信息也就越繁杂与冗余,需要花费用户大量的时候用于筛选有用的信息,带来大量的时间浪费与人力浪费。当为了搜索有价值的信息付出的代价越来越高,用户渴望搜索引擎能够更准确地满足搜索条件,不过因为搜索引擎自身的不足,使得用户在搜索一些特定信息的时候不乐于使用它们,因为它们搜索出来的结果泛而且杂,可以说并没有帮用户减少工作量。
聚焦搜索便是其中一种传统搜索引擎的新竞争者。聚焦搜索通过使用具有定向抓取相关网页资源的聚焦爬虫,根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息,以提高搜索质量。与通用搜索引擎不同,聚焦爬虫并不追求大的覆盖,而是只抓取与主题内容有关的网页,为用户提供特定的搜索结果。使用聚焦搜索,可以有效地提取和利用这些信息与资源。所以聚焦搜索以其特有的能力补充着通用搜索引擎所无法完成的用户需求,聚焦搜索引擎是顺应时代的产物。
最常见的聚焦爬虫的策略便是使用深度优先搜索算法和广度优先搜索算法;这两个搜索算法能够很全面的覆盖所有的页面,可是相应的工作量也是巨大的,而且链接之间常常存在着环路,容易多次搜索同一个页面导致做了很多无用功,并且当爬取商城这样的具有巨大规模的数据库的时候很难有所收获,抓取的信息准确率也不高,难以对用户的判断有价值。Xpath指的是XML路径语言(XML Path Language),它是一种用来确定XML文档某个位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。Xpath可以唯一的确定一个位置,也可以选择具有某一类特征的位置。ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处;每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。
发明内容
本发明的目的在于提供一种使WEB聚焦搜索系统的搜索速度更快、爬取页面信息更准确的搜索方法;
本发明采用以下方法,其包括以下步骤:
1) 设定爬虫程序包括网页搜集线程和网页处理线程;
2) 设定网页搜集线程只搜索电子商务网站的网络地址链接域名;
3) 用户选定主题关键词,爬虫程序启动网页搜集线程搜索电子商务网站上与主题关键词一致的网络地址链接;
4) 建立哈希表,对当前网页搜集线程搜索到的网页的网络地址链接与哈希表内的网络地址链接进行比对,如果搜索发现哈希表中不存在该网络地址链接,则将该网络地址链接存入哈希表,否则丢弃该网络地址链接;
5) 利用ArrayList结构建立网络地址临时保存的链接缓冲池,网页搜集线程将存入哈希表的该网络地址链接同时存入待爬取的链接缓冲池中;
6) 所述的网页搜集线程继续搜索电子商务网站上下一个与主题关键词一致的网络地址链接,直至所述的网页搜集线程搜索完电子商务网站上与关键主题词一致的所有网络地址链接,并存入链接缓冲池中待爬取;
7) 爬虫程序启动网页处理线程,所述的网页处理线程通过DOM(文件对象模型)将所有链接缓冲池中待爬取的网络地址链接的页面映射成一个由层次节点组成的文件,所述的层次节点包括文本节点以及图片链接节点;所述的网页处理线程利用Xpath表达式将图片链接结点的位置表示出来,然后通过文档解析器提取该页面中图片链接以及与主题关键字一致的文本节点的文字信息,所述的网页处理线程爬取一条网络地址链接的页面后,链接缓冲池中对应的网络地址链接被删除;
8) 建立数据库,将网页处理线程爬取的所有页面中的图片链接以及与主题关键字一致的文字信息存储到数据库中,并对每一条的网络地址链接下的图片链接以及文本信息进行分类存储;
9) 用户通过数据库查看与主题关键词一致的搜索结果。
所述的文字信息包括商品价格、商品属性、商品来源的网络地址链接、商品销量以及商品的销售信用度,当所述的网页处理线程爬取一个以上的文字信息为空时,则放弃该网络地址链接的爬取。
当所述的网页搜集线程为一个以上并且同时搜索同一个网络地址链接时,所述的爬虫程序采用synchronized关键字加锁,只允许一个网页搜集线程将该网络地址链接存入哈希表和链接缓冲池。
本发明中所述的爬虫程序采用JAVA语言编程,数据库采用MySQL,使用Java语言用MySQL提供的jdbc来连接MySQL;所述的数据库中包括第一表格、第二表格和第三表格;存入爬取信息到数据库的时候,其包括以下步骤:1)将搜索商品名称的商品存入第一表格中,并赋予该商品为第一表格编号;2)将搜索到具有公共属性的商品存入第二表格中,并赋予第一表格编号和第二表格编号;3)将搜索到具有不同商品名称以及不同数量的商品存入到第三表格中,并赋予第二编号;
在将爬取信息从数据库中取出的时候,其包括以下步骤:1)读取第一表格编号的商品;2)通过第二表格中查询到拥有具有第一表格编号的商品;3)选取第二表格中的商品的时候,使用这件商品的第二表格编号到第三表格中取出拥有同样具有第二表格编号的商品。
本发明采用以上方法,实现了爬虫程序多线程分别处理,使其便于管理和加快运行速度。利用哈希表去重,相对于现有技术中的搜索引擎可以排除掉大量的无关链接,使人们获取有价值的信息;使用ArrayList结构用来充当缓冲池,通过synchronized关键字加锁,保证了取出的链接的唯一性,即一条链接只能被一个线程取走并处理,不可能同时被两个线程取走,防止多次爬取导致的资源浪费以及数据重复,避免线程互斥的现象;限定只抓取与主题内容有关的网页,为用户提供特定的搜索结果,可以有效地提取和利用这些信息与资源;该方法能够根据用户的需求以及选择,抽取商品的有效信息,不至于多个信息为空时,爬取后的信息对用户无用。
具体实施方式
本发明采用以下方法,其包括以下步骤:
1) 设定爬虫程序包括网页搜集线程和网页处理线程;
2) 设定网页搜集线程只搜索电子商务网站的网络地址链接域名;
3) 用户选定主题关键词,爬虫程序启动网页搜集线程搜索电子商务网站上与主题关键词一致的网络地址链接;
4) 建立哈希表,对当前网页搜集线程搜索到的网页的网络地址链接与哈希表内的网络地址链接进行比对,如果搜索发现哈希表中不存在该网络地址链接,则将该网络地址链接存入哈希表,否则丢弃该网络地址链接;
5) 利用ArrayList结构建立网络地址临时保存的链接缓冲池,网页搜集线程将存入哈希表的该网络地址链接同时存入待爬取的链接缓冲池中;
6) 所述的网页搜集线程继续搜索电子商务网站上下一个与主题关键词一致的网络地址链接,直至所述的网页搜集线程搜索完电子商务网站上与关键主题词一致的所有网络地址链接,并存入链接缓冲池中待爬取;
7) 爬虫程序启动网页处理线程,所述的网页处理线程通过DOM将所有链接缓冲池中待爬取的网络地址链接的页面映射成一个由层次节点组成的文件,所述的层次节点包括文本节点以及图片链接节点;所述的网页处理线程利用Xpath表达式将图片链接结点的位置表示出来,然后通过文档解析器提取该页面中图片链接以及与主题关键字一致的文本节点的文字信息,所述的网页处理线程爬取一条网络地址链接的页面后,链接缓冲池中对应的网络地址链接被删除,若链接缓冲池中还有网络地址链接,则继续爬取信息,直至链接缓冲池中的为空,同时判断网页搜集线程是否还在继续进行,如果还在继续进行则等候1秒,等待网页搜集线程将网页地址链接放入缓冲池中,如果网页搜集线程已经全部停止了,那么就允许网页处理线程爬取完信息后关闭;
8) 建立数据库,将网页处理线程爬取的所有页面中的图片链接以及与主题关键字一致的文字信息存储到数据库中,并对每一条的网络地址链接下的图片链接以及文本信息进行分类存储;
9) 用户通过数据库查看与主题关键词一致的搜索结果。
所述的文字信息包括商品价格、商品属性、商品来源的网络地址链接、商品销量以及商品的销售信用度,当所述的网页处理线程爬取一个以上的文字信息为空时,则放弃该网络地址链接的爬取。
当所述的网页搜集线程为一个以上并且同时搜索同一个网络地址链接时,所述的爬虫程序采用synchronized关键字加锁,只允许一个网页搜集线程将该网络地址链接存入哈希表和链接缓冲池。
本发明中所述的爬虫程序采用JAVA语言编程,数据库采用MySQL,使用Java语言用MySQL提供的jdbc来连接MySQL;所述的数据库中包括第一表格、第二表格和第三表格;存入爬取信息到数据库的时候,其包括以下步骤:1)将搜索商品名称的商品存入第一表格中,并赋予该商品为第一表格编号;2)将搜索到具有公共属性的商品存入第二表格中,并赋予第一表格编号和第二表格编号;3)将搜索到具有不同商品名称以及不同数量的商品存入到第三表格中,并赋予第二编号;
在将爬取信息从数据库中取出的时候,其包括以下步骤:1)读取第一表格编号的商品;2)通过第二表格中查询到拥有具有第一表格编号的商品;3)选取第二表格中的商品的时候,使用这件商品的第二表格编号到第三表格中取出拥有同样具有第二表格编号的商品。
Claims (5)
1.一种WEB聚焦搜索系统的搜索方法,其特征在于:其包括以下步骤:
设定爬虫程序包括网页搜集线程和网页处理线程;
设定网页搜集线程只搜索电子商务网站的网络地址链接域名;
用户选定主题关键词,爬虫程序启动网页搜集线程搜索电子商务网站上与主题关键词一致的网络地址链接;
建立哈希表,对当前网页搜集线程搜索到的网页的网络地址链接与哈希表内的网络地址链接进行比对,如果搜索发现哈希表中不存在该网络地址链接,则将该网络地址链接存入哈希表,否则丢弃该网络地址链接;
利用ArrayList结构建立网络地址临时保存的链接缓冲池,网页搜集线程将存入哈希表的该网络地址链接同时存入待爬取的链接缓冲池中;
所述的网页搜集线程继续搜索电子商务网站上下一个与主题关键词一致的网络地址链接,直至所述的网页搜集线程搜索完电子商务网站上与关键主题词一致的所有网络地址链接,并存入链接缓冲池中待爬取;
爬虫程序启动网页处理线程,所述的网页处理线程通过DOM将所有链接缓冲池中待爬取的网络地址链接的页面映射成一个由层次节点组成的文件,所述的层次节点包括文本节点以及图片链接节点;所述的网页处理线程利用Xpath表达式将图片链接结点的位置表示出来,然后通过文档解析器提取该页面中图片链接以及与主题关键字一致的文本节点的文字信息,所述的网页处理线程爬取一条网络地址链接的页面后,链接缓冲池中对应的网络地址链接被删除;
建立数据库,将网页处理线程爬取的所有页面中的图片链接以及与主题关键字一致的文字信息存储到数据库中,并对每一条的网络地址链接下的图片链接以及文本信息进行分类存储;
用户通过数据库查看与主题关键词一致的搜索结果。
2.根据权利要求1所述的一种WEB聚焦搜索系统的搜索方法,其特征在于:所述的文字信息包括商品价格、商品属性、商品来源的网络地址链接、商品销量以及商品的销售信用度,当所述的网页处理线程爬取一个以上的文字信息为空时,则放弃该网络地址链接的爬取。
3.根据权利要求1所述的一种WEB聚焦搜索系统的搜索方法,其特征在于:当所述的网页搜集线程为一个以上并且同时搜索同一个网络地址链接时,所述的爬虫程序采用synchronized关键字加锁,只允许一个网页搜集线程将该网络地址链接存入哈希表和链接缓冲池。
4.根据权利要求1所述的一种WEB聚焦搜索系统的搜索方法,其特征在于:所述的数据库中包括第一表格、第二表格和第三表格;存入爬取信息到数据库的时候,其包括以下步骤:1)将搜索商品名称的商品存入第一表格中,并赋予该商品为第一表格编号;2)将搜索到具有公共属性的商品存入第二表格中,并赋予第一表格编号和第二表格编号;3)将搜索到具有不同商品名称以及不同数量的商品存入到第三表格中,并赋予第二编号;在将爬取信息从数据库中取出的时候,其包括以下步骤:1)读取第一表格编号的商品;2)通过第二表格中查询到拥有具有第一表格编号的商品;3)选取第二表格中的商品的时候,使用这件商品的第二表格编号到第三表格中取出拥有同样具有第二表格编号的商品。
5.根据权利要求1所述的一种WEB聚焦搜索系统的搜索方法,其特征在于:所述的爬虫程序采用JAVA语言编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101592651A CN103226609A (zh) | 2013-05-03 | 2013-05-03 | 一种web聚焦搜索系统的搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101592651A CN103226609A (zh) | 2013-05-03 | 2013-05-03 | 一种web聚焦搜索系统的搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226609A true CN103226609A (zh) | 2013-07-31 |
Family
ID=48837054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101592651A Pending CN103226609A (zh) | 2013-05-03 | 2013-05-03 | 一种web聚焦搜索系统的搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226609A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678571A (zh) * | 2013-12-09 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 应用于单台多核处理器主机的多线程网络爬虫执行方法 |
CN104050037A (zh) * | 2014-06-13 | 2014-09-17 | 淮阴工学院 | 一种基于指定电子商务网站的定向爬虫的实现方法 |
CN104572973A (zh) * | 2014-12-31 | 2015-04-29 | 上海格尔软件股份有限公司 | 一种高性能的内存缓存系统及方法 |
CN105740294A (zh) * | 2014-12-12 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种信息推送方法及设备 |
CN107679085A (zh) * | 2017-09-01 | 2018-02-09 | 广州大学 | 基于搜索及网页爬虫的数据抓取算法 |
CN108415941A (zh) * | 2018-01-29 | 2018-08-17 | 湖北省楚天云有限公司 | 一种网页爬虫方法、装置以及电子设备 |
CN111310012A (zh) * | 2020-01-21 | 2020-06-19 | 国网安徽省电力有限公司滁州供电公司 | 一种企业失信行为自动监测预警方法 |
CN112597370A (zh) * | 2020-12-22 | 2021-04-02 | 荆门汇易佳信息科技有限公司 | 指定需求范围的网页信息自主搜集筛选系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089851A (zh) * | 2007-07-12 | 2007-12-19 | 复旦大学 | 基于部分二进制前缀编码的xml流缓存管理方法 |
CN101317174A (zh) * | 2005-11-30 | 2008-12-03 | 微软公司 | 使用网络地址的聚焦搜索 |
CN101727485A (zh) * | 2009-12-10 | 2010-06-09 | 湖南科技大学 | 一种基于聚焦搜索的wsdl搜集方法 |
CN102663058A (zh) * | 2012-03-30 | 2012-09-12 | 华中科技大学 | 一种分布式网络爬虫系统中的url去重方法 |
CN102930059A (zh) * | 2012-11-26 | 2013-02-13 | 电子科技大学 | 一种聚焦爬虫的设计方法 |
-
2013
- 2013-05-03 CN CN2013101592651A patent/CN103226609A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101317174A (zh) * | 2005-11-30 | 2008-12-03 | 微软公司 | 使用网络地址的聚焦搜索 |
CN101089851A (zh) * | 2007-07-12 | 2007-12-19 | 复旦大学 | 基于部分二进制前缀编码的xml流缓存管理方法 |
CN101727485A (zh) * | 2009-12-10 | 2010-06-09 | 湖南科技大学 | 一种基于聚焦搜索的wsdl搜集方法 |
CN102663058A (zh) * | 2012-03-30 | 2012-09-12 | 华中科技大学 | 一种分布式网络爬虫系统中的url去重方法 |
CN102930059A (zh) * | 2012-11-26 | 2013-02-13 | 电子科技大学 | 一种聚焦爬虫的设计方法 |
Non-Patent Citations (1)
Title |
---|
杨颂: "面向电子商务网站的增量爬虫设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678571A (zh) * | 2013-12-09 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 应用于单台多核处理器主机的多线程网络爬虫执行方法 |
CN103678571B (zh) * | 2013-12-09 | 2017-01-25 | 中国科学院深圳先进技术研究院 | 应用于单台多核处理器主机的多线程网络爬虫执行方法 |
CN104050037A (zh) * | 2014-06-13 | 2014-09-17 | 淮阴工学院 | 一种基于指定电子商务网站的定向爬虫的实现方法 |
CN105740294A (zh) * | 2014-12-12 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种信息推送方法及设备 |
CN105740294B (zh) * | 2014-12-12 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 一种信息推送方法及设备 |
CN104572973A (zh) * | 2014-12-31 | 2015-04-29 | 上海格尔软件股份有限公司 | 一种高性能的内存缓存系统及方法 |
CN107679085A (zh) * | 2017-09-01 | 2018-02-09 | 广州大学 | 基于搜索及网页爬虫的数据抓取算法 |
CN108415941A (zh) * | 2018-01-29 | 2018-08-17 | 湖北省楚天云有限公司 | 一种网页爬虫方法、装置以及电子设备 |
CN111310012A (zh) * | 2020-01-21 | 2020-06-19 | 国网安徽省电力有限公司滁州供电公司 | 一种企业失信行为自动监测预警方法 |
CN112597370A (zh) * | 2020-12-22 | 2021-04-02 | 荆门汇易佳信息科技有限公司 | 指定需求范围的网页信息自主搜集筛选系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226609A (zh) | 一种web聚焦搜索系统的搜索方法 | |
US8473473B2 (en) | Object oriented data and metadata based search | |
CN108647276B (zh) | 一种搜索方法 | |
CN102760151B (zh) | 开源软件获取与搜索系统的实现方法 | |
CN106126648B (zh) | 一种基于重做日志的分布式商品信息爬虫方法 | |
CN107145496A (zh) | 基于关键词将图像与内容项目匹配的方法 | |
US7024405B2 (en) | Method and apparatus for improved internet searching | |
CN108052632A (zh) | 一种网络信息获取方法、系统及企业信息搜索系统 | |
CN102930059A (zh) | 一种聚焦爬虫的设计方法 | |
US9971828B2 (en) | Document tagging and retrieval using per-subject dictionaries including subject-determining-power scores for entries | |
CN104268148A (zh) | 一种基于时间串的论坛页面信息自动抽取方法及系统 | |
CN101404666A (zh) | 一种基于Web页无限层采集方法 | |
CN104021125A (zh) | 一种搜索引擎排序的方法、系统以及一种搜索引擎 | |
US9971782B2 (en) | Document tagging and retrieval using entity specifiers | |
CN107463592A (zh) | 用于将内容项目与图像匹配的方法、设备和数据处理系统 | |
Nikhil et al. | A survey on text mining and sentiment analysis for unstructured web data | |
CN107491465A (zh) | 用于搜索内容的方法和装置以及数据处理系统 | |
CN103116635A (zh) | 面向领域的暗网资源采集方法和系统 | |
CN103258017A (zh) | 一种并行的垂直交叉网络数据采集方法及系统 | |
CN101388025A (zh) | 一种基于Pagerank的语义网对象排序方法 | |
Ajoudanian et al. | Deep web content mining | |
CN109948015B (zh) | 一种元搜索列表结果抽取方法及系统 | |
Huang et al. | LiveIndex: A distributed online index system for temporal microblog data | |
Pakojwar et al. | Web data extraction and alignment using tag and value similarity | |
Pan et al. | Web page content extraction method based on link density and statistic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130731 |