论文部分内容阅读
随着网络技术的发展,电子商务发展迅猛,然而建材类电子商务一直发展较为缓慢,是电子商务的一片蓝海。很多公司也发现了这一商机,并通过各类建材电子商务网站瓜分市场份额。但是,这些电商网站往往覆盖地区、产品种类有限,难以达到其他品类成熟电商的规模,对国内建材类电子商务的现状影响不大。市场急需一个能够覆盖全国各地区、网罗各类产品的网站。然而各个公司各自为战,很难达成共识共享资源。基于上述背景,本文分析、设计并实现了网络爬虫系统,该系统将Internet上诸多同类建材信息网站的关键信息爬取下来,并整合发布在本公司自己的网站上。为建筑企业和建材供应商提供及时、全面、真实的信息服务,从而为建筑企业与建材供应商创造双赢价值。本文介绍了爬虫系统的基本工作原理和相关理论知识,然后对系统进行了需求分析,提出系统需求,并对系统进行功能性需求分析、非功能性需求分析和可行性分析。最后在系统需求分析的基础上,提出了系统的总体设计方案,明确了系统的总体流程,对系统各个模块进行设计。本文的爬虫系统不仅能够抓取静态页面的内容,对于JS (JavaScript)动态加载的页面也能够通过JS解释引擎Rhino实现页面抓取功能,并采用正则表达式编写页面的解析模板完成对页面关键信息的抽取。针对图片中保存的某些关键信息,本文利用OCR (Optical Character Recognition)图片识别引擎Tesseract实现对这类信息的识别。在页面抓取过程中,为了提高域名解析的速度,本文采用了域名解析缓存。为了提高爬虫系统抓取数据的质量,避免重复抓取,本文采用布隆过滤器对URL (Uniform Resource Locator)进行去重。本文还实现了网络爬虫管理系统,用以对爬虫系统工作的各个环节进行监控和管理。本文设计并实现的面向建材信息的网络爬虫系统能够满足用户的基本需求,该系统己在广联达软件公司上线运行,能够成功抓取建材类供求信息,并将所得数据存储在Mongo数据库中,目前已抓取超过2亿条数据记录。