参赛单元:互联网、大数据及云计算
作者:黄文强
单位:成都润成信息技术有限公司
摘要
本文基于FME实现了最佳租房的求算。首先抓取了租房网站上房源的信息,再根据房源所在的公寓的名称或详细地址利用百度地图API地理解码功能获取房源的坐标信息。将房源坐标由经纬度转为米坐标后,计算各房源到上班地点的距离,再结合房源价格、附近有无地铁、合租户数、配套设施给各房源计算一个分数。
1 抓取租房信息
目标是抓取房天下租房前三页的租房信息。
1)首先利用Creator创建3个要素,对要素进行计数,计数结果记录在page_num属性中,通过HTTPCaller访问房天下成都租房500—1000元的个人合租房源页面,利用正则表达式得到各房源的子网页的网址。
2)HTTPCaller访问各个房源,并使用HTMLExtractor,通过CSS选择器获取标题、价格、公寓名称、地址、配套设施(主要关心宽带和空调);使用StringSearcher,通过正则表达式获取地铁、联系方式、合租户数。
2 获取百度地图坐标
1)通过观察,发现某些地址没有详细到门牌号,所以首选的搜索方式是利用公寓名称搜索,为了防止其他城市有同名的公寓,在公寓名称前加上(成都市/)
某些房源没有填写公寓名称,所以在抓取公寓名称后开始分两类:有公寓名称的利用公寓名称获取坐标,没有的利用地址获取坐标。使用HTTPCaller_访问百度地图地理编码API,得到有经纬度信息的JSON文档,从JSON文档中提取经纬度信息。
2)把获取到的经纬度坐标通过百度地图API转为米坐标,以便与计算距离。同时,创建上班地点要素(本文假设是环球中心),把经纬度坐标转为米坐标并且将上班地点的坐标挂接到每个房源要素中。
3 计算方案分数
使用ExpressionEvaluator或AttributeCreator,计算每项因素的分数,最后计算总得分。距离得分函数是
4 成果展示
5 心得体会
大数据是时下的热点词。本文使用FME平台实现了互联网数据的抓取、数据矢量化和数据分析。发现FME平台在互联网数据方向具有很好的可调整性、很强的拓展性,将数据以要素方式存储到内存中使得数据的获取和使用十分有条理。由于本文抓取的特定网页的信息,如果需要抓取其他网页的信息,则需要修改某些转换器的参数与设置,但相比其他方式,FME平台的可迁移能力还是十分突出。FME平台具有使用简便、功能强大、在不同环境中适应能力强的特点。