面向建材信息的网络爬虫系统的设计与实现
发布时间:2017-08-13 23:14
本文关键词:面向建材信息的网络爬虫系统的设计与实现
更多相关文章: 网络爬虫 管理系统 正则表达式解析模板 URL去重
【摘要】:随着网络技术的发展,电子商务发展迅猛,然而建材类电子商务一直发展较为缓慢,是电子商务的一片蓝海。很多公司也发现了这一商机,并通过各类建材电子商务网站瓜分市场份额。但是,这些电商网站往往覆盖地区、产品种类有限,难以达到其他品类成熟电商的规模,对国内建材类电子商务的现状影响不大。市场急需一个能够覆盖全国各地区、网罗各类产品的网站。然而各个公司各自为战,很难达成共识共享资源。基于上述背景,本文分析、设计并实现了网络爬虫系统,该系统将Internet上诸多同类建材信息网站的关键信息爬取下来,并整合发布在本公司自己的网站上。为建筑企业和建材供应商提供及时、全面、真实的信息服务,从而为建筑企业与建材供应商创造双赢价值。 本文介绍了爬虫系统的基本工作原理和相关理论知识,然后对系统进行了需求分析,提出系统需求,并对系统进行功能性需求分析、非功能性需求分析和可行性分析。最后在系统需求分析的基础上,提出了系统的总体设计方案,明确了系统的总体流程,对系统各个模块进行设计。本文的爬虫系统不仅能够抓取静态页面的内容,对于JS (JavaScript)动态加载的页面也能够通过JS解释引擎Rhino实现页面抓取功能,并采用正则表达式编写页面的解析模板完成对页面关键信息的抽取。针对图片中保存的某些关键信息,本文利用OCR (Optical Character Recognition)图片识别引擎Tesseract实现对这类信息的识别。在页面抓取过程中,为了提高域名解析的速度,本文采用了域名解析缓存。为了提高爬虫系统抓取数据的质量,避免重复抓取,本文采用布隆过滤器对URL (Uniform Resource Locator)进行去重。本文还实现了网络爬虫管理系统,用以对爬虫系统工作的各个环节进行监控和管理。 本文设计并实现的面向建材信息的网络爬虫系统能够满足用户的基本需求,该系统己在广联达软件公司上线运行,能够成功抓取建材类供求信息,并将所得数据存储在Mongo数据库中,目前已抓取超过2亿条数据记录。
【关键词】:网络爬虫 管理系统 正则表达式解析模板 URL去重
【学位授予单位】:北京交通大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP311.52;TP393.092
【目录】:
- 致谢5-6
- 摘要6-7
- ABSTRACT7-11
- 1 绪论11-15
- 1.1 论文背景和意义11
- 1.2 国内外发展现状11-14
- 1.3 论文主要工作与结构安排14
- 1.4 本章小结14-15
- 2 相关技术概述15-20
- 2.1 正则表达式15
- 2.2 布隆算法15-16
- 2.3 RHINO解析引擎16-17
- 2.4 TESSERACT图片识别引擎17-18
- 2.5 MVC设计模式18
- 2.6 MONGO数据库18-19
- 2.7 本章小结19-20
- 3 需求分析20-25
- 3.1 系统业务总体分析20
- 3.2 系统功能性需求20-21
- 3.3 系统非功能性需求21-22
- 3.4 技术可行性分析22-24
- 3.4.1 页面抓取分析22-23
- 3.4.2 页面解析分析23
- 3.4.3 数据库存储分析23-24
- 3.5 本章小结24-25
- 4 系统概要设计25-35
- 4.1 爬虫系统开发环境25
- 4.2 系统基本框架25-27
- 4.3 网页抓取模块27-31
- 4.3.1 网络爬虫抓取策略28-29
- 4.3.2 URL去重29-31
- 4.4 页面解析模块31-32
- 4.5 MONGO数据库模块32
- 4.6 代理IP管理模块32-33
- 4.7 爬虫管理系统模块33-34
- 4.8 本章小结34-35
- 5 系统详细设计及实现35-65
- 5.1 网页抓取模块35-44
- 5.1.1 Robots协议解析35-36
- 5.1.2 HTTP协议分析36
- 5.1.3 HTTP文件抓取36-37
- 5.1.4 HTTP响应信息处理方法37-38
- 5.1.5 URL去重38-40
- 5.1.6 初始URL文件配置40
- 5.1.7 线程池工作模块40-42
- 5.1.8 翻页URL42
- 5.1.9 页面的更新策略42-43
- 5.1.10 爬虫抓取频率43
- 5.1.11 DNS解析缓存43-44
- 5.2 网页解析模块44-51
- 5.2.1 静态页面解析44-47
- 5.2.2 图片内容解析47-48
- 5.2.3 JS动态页面解析48-51
- 5.3 应对反爬虫策略51-55
- 5.3.1 基于User-Agent的反爬虫51-53
- 5.3.2 基于登录的反爬虫53-54
- 5.3.3 基于Cookie的反爬虫54-55
- 5.4 MONGO数据库模块55-58
- 5.4.1 Mongo数据库存入55-57
- 5.4.2 Mongo数据库备份与恢复57-58
- 5.5 代理IP管理模块58-61
- 5.5.1 请求的处理59
- 5.5.2 响应的处理59-60
- 5.5.3 基于线程池60-61
- 5.6 爬虫管理系统模块61-64
- 5.6.1 爬虫管理系统界面61
- 5.6.2 爬虫管理系统功能61-62
- 5.6.3 数据库表设计62-64
- 5.6.4 Controller类64
- 5.7 本章小结64-65
- 6 系统测试65-69
- 6.1 单元测试65
- 6.2 系统测试65-68
- 6.3 本章小结68-69
- 7 总结与展望69-71
- 7.1 总结69
- 7.2 展望69-71
- 参考文献71-73
- 作者简历73-75
- 学位论文数据集75
【参考文献】
中国期刊全文数据库 前7条
1 张超;闫宏印;;多线程网络爬虫的设计与实现[J];电脑开发与应用;2012年06期
2 王映,于满泉,李盛韬,王斌,余智华;JavaScript引擎在动态网页采集技术中的应用[J];计算机应用;2004年02期
3 姜明强,顾君忠;基于DOM的结构化搜索引擎[J];计算机应用研究;2000年06期
4 袁梅冷,黄烟波,黄家林,翁艳彬;J2EE应用模型中MVC软件体系结构的研究与应用[J];计算机应用研究;2003年03期
5 刘金红;陆余良;;主题网络爬虫研究综述[J];计算机应用研究;2007年10期
6 王超;闾陈莉;吴迪;项英杰;;基于HttpClient的Android客户端的设计与实现[J];计算机时代;2014年03期
7 严磊;丁宾;姚志敏;马勇男;郑涛;;基于MD5去重树的网络爬虫的设计与优化[J];计算机应用与软件;2015年02期
,本文编号:669515
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/669515.html