信息检索期末论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科生课程论文基于网络爬虫的房产信息平台原型

学生姓名杨宇帆

所在专业信息管理与信息系统

所在班级信管1111

目录

摘要 ................................................................. I 1项目背景.. (1)

1.1收集房东信息 (1)

1.2收集房客信息 (1)

1.3通过房源管理软件查看信息 (1)

1.4方便移动办公查阅 (1)

2平台原型的实现 (1)

2.1信息收集与整理 (2)

2.2数据库设计 (2)

2.2.1概念结构设计 (2)

2.2.2逻辑结构设计 (3)

2.2.3数据库的实施 (3)

2.3下载页面信息到本地计算机 (4)

2.4提取网页信息并保存至数据库 (4)

3总结 (5)

鸣谢 (6)

参考文献 (7)

附录 (8)

摘要

本房产信息平台原型基于网络爬虫技术和数据库技术,模拟了从目标网页采集数据、在本地进行信息提取并分类存入数据库的整个流程,体现了网络爬虫技术在信息收集和资源整合方面的独特优势。

本平台主程序采用Java语言进行编写,选用MySQL作为平台的关系型数据库。

关键词:网络爬虫;房产信息;数据提取

基于网络爬虫的房产信息平台原型

信息管理与信息系统,201111671130,杨宇帆

1项目背景

目前房地产为中国的支柱性产业,买卖房产是人们关注的一个重要问题。中家房产公司为一家立足广州市场的房产中介公司,主营业务为买房、卖房、租房、房东提供房产中介服务。为了能够在激烈的市场竞争中取得长远的发展,目前需要开发一套房产信息综合管理平台,实现以下四项目标:

1.1收集房东信息

从赶集网、58同城、安居客、搜房网四大平台中,搜集整理其中房东发布的出租房屋、出售房屋信息,保存到MySQL数据库(或sqlite数据库)。

1.2收集房客信息

从赶集网、58同城、安居客、搜房网四大平台中,搜集整理其中想购买二手房、租赁房屋的需求,保存到MySQL数据库(或sqlite数据库)。

1.3通过房源管理软件查看信息

需要借助一套房源管理软件,查看保存在MySQL数据库中的房源信息,和购买二手房/租赁房屋的需求,供中介从业人员使用,提高交易量,从而创造更多的利润。

1.4方便移动办公查阅

移动办公已在现今社会的各行各业变得十分普遍。由于中介从业人员经常需要带领客户实地看房,因此为了满足工作人员移动办公的需求,仍需开发一套房源管理的安卓版APP。

2平台原型的实现

基于网络爬虫的房产信息平台原型的实现有4个主要步骤:信息收集与整理、数据库设计与建立、下载页面信息到本地计算机、提取网页信息并保存至数据库。

由于从各大平台中提取信息的做法在很大程度上是相同的,故本论文中的数据来源仅从赶集网进行获取,介绍本房产信息平台的实现。

2.1信息收集与整理

根据项目需求,需要从赶集网、58同城、安居客、搜房网四大平台中,各挑出广州市区的卖房、出租房屋、求购二手房、求租房屋的信息。以赶集网为例,由于借助了网络爬虫(Spider) 模块,我们只需要将各大网站的各类信息的结果列表(图1)记录下来即可,具体的单项信息将由网络爬虫动态获取。

图1:赶集网广州房产新房出售页面

2.2数据库设计

规范化数据库设计分为以下六个设计阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。

此步骤中我们设计出卖房房源信息表(SellHouseInfo)、出租房屋信息表(RentHouseInfo)、求购二手房需求表(BuyHouseDemand)、求租房屋需求表(RentHouseDemand)共4个数据表,确定了各表中的字段设置;并通过Navicat for MySQL(一款MySQL数据库管理软件)建立名为House的数据库,将上述数据表的结构建立起来。

下面我们对概念结构设计、逻辑结构设计和数据库实施阶段进行详细说明。

2.2.1概念结构设计

依据需求分析可知,用户最终需要进行查询的信息分为以下4类:

卖房房源信息、出租房屋信息、求购二手房需求信息和求租房屋需求信息,故将此

4类信息分别设计成一个实体,且4个实体之间相互没有联系。

2.2.2逻辑结构设计

根据概念结构与逻辑概念结构的1对1的转换原则,我们把概念结构中的4个实体分别转化为卖房房源信息表(SellHouseInfo)、出租房屋信息表(RentHouseInfo)、求购二手房需求表(BuyHouseDemand)、求租房屋需求表(RentHouseDemand)这4个数据表。各表字段的设置如E-R图(图2)所示。

图2:House数据库E-R图

2.2.3数据库的实施

使用Navicat for MySQL,新建house数据库,设数据库字符集为UTF-8(图3)。并建立数据表,设置其字段名、字段属性和字段长度(图4)。

图3:使用Navicat for MySQL新建数据库

图4:设置数据表字段信息

2.3 下载页面信息到本地计算机

在Eclipse 的Java 工程中,我们引入了开源搜索引擎Lucene 的网络爬虫(Spider )模块(图5)。

借助该模块下的Spider ,初始化我们需要爬取的网页

地址(下面简称url )集合;

此时Dispatcher 开始分配器管理url 负责保存着url

池,当Spider 爬取完某个网页的信息后分配其一个新的

url ;

然后通过Gather (网页收集器)调用URLClient ,与目

标网站建立HTTP 链接并获取其网页的htmlString ,之

后解析html ;同时调用WebAnalyzer 进行网页的解析和数据的提取;

接下来Gather 将提取出来的数据以文本文档的形式保存到本地RawData 文件夹中,实现了将目标页面的下载到本地计算机的功能。

2.4 提取网页信息并保存至数据库

为了实现JAVA 程序和MySQL 数据库的

交互,我们使用了JDBC 的连接方式。

如图6,首先导入MySQL 的JDBC 驱动

包;

然后在共用的工具类

com.house.util.DBHelper 中实现加载数

据库驱动、建立连接、创建SQL 语句、执

行语句等操作(DBHelper 程序见附录1)。 接着,Gather (网页收集器)在以文本文档形式保存网页信息的同时,调用DAO

图5:Spider 模块

图6:在Java 工程内引入MySQL 的JDBC 驱动包

相关文档
最新文档