网络爬虫技术在交通信息获取的应用

时间:2022-08-04 11:18:51

网络爬虫技术在交通信息获取的应用

摘要:互联网上的有关交通的网页文本数据常常是非结构化、分散性的,面对不断增长的海量信息,如何从中提取出有用的交通信息具有一定难度.传统的信息采集处理方法很难高效准确地完成海量信息处理.由此,网络爬虫技术则显示出其优越性.文中介绍了网络爬虫技术的基本内容,总结了各类交通信息获取方法的研究,从不同方面综述了国内外应用网络爬虫技术解决交通信息获取问题的研究历史和现状,展望了网络爬虫技术在交通中的应用前景.

关键词:交通工程;交通信息;网络爬虫技术;综述

在交通系统运行过程中会产生一系列的交通信息,各种信息技术广泛应用于智能交通系统的同时,积累了海量的交通数据,这些数据分散地分布在互联网网页上.海量交通信息对信息采集及处理方法等都提出了新的更高的要求.传统的信息采集处理方法大多是对有限的、有规则的信息数据进行收集,并不能对海量交通信息进行批量获取、保存,以及管理,因此无法准确高效地解决海量交通信息获取问题.在相关的研究中,有学者利用数据挖掘技术进行了大规模交通数据管理、整合和挖掘[1].近年来,国内外一些学者尝试使用网络爬虫技术来获取互联网上的海量交通信息,将网络爬虫技术应用到了交通信息的获取分析中.从目前的研究成果来看,网络爬虫技术对于交通中的各类信息获取具有很好的应用前景,将成为交通信息获取研究的重要方法之一.

1网络爬虫技术

网络信息获取技术,是指对网络流中非结构化的信息,设法将其读取出来,然后将其保存至结构化的本地数据库[2].其中,网络爬虫是最典型的例子.网络爬虫,通常又称之为Web信息采集器或网络蜘蛛,是遍历Web并以有条理的自动方式下载Web文档的程序或软件[3].1994年,全球首个网络检索工具诞生,即WebCrawler.现阶段,百度、Yahoo、Google等是相对来说比较盛行的搜索引擎.1.1网络爬虫的过程给定一个或多个种子URL,是网络爬虫的首要条件.其次,需要将与这些URL相关联的网页下载下来,提取其中涉及到的所有超链接;最后,递归地继续去下载被这些超链接所标识的网页[4].网络爬虫的过程见图1.使用遍历的方式,访问互联网这个超级“图”的各个节点,找寻并获取有用信息,这是网络爬虫的目的.因此,网络爬虫的体系结构一般由以下几个模块组成:初始化模块、Web页面获取模块、Web页面解析模块,以及URL过滤模块.1.2网络爬虫分类及爬虫搜索策略按照系统结构和实现技术,可以对网络爬虫进行分类.主要包括通用网络爬虫(全网爬虫)、聚焦网络爬虫(主题网络爬虫)、增量式网络爬虫和深层网络爬虫这四种类型.在实际应用中,通常将这几类爬虫进行结合使用以达到目的.爬虫的搜索策略是网络爬虫的核心问题,其优劣决定了爬虫系统的效率和性能.主要的网络爬虫搜索策略包括深度和广度优先、基于内容的、基于链接的搜索策略.其中,由于能够较为全面地遍历web中的所有网页结点,深度和广度优先搜索策略较适合全网爬虫,也即通用型网络爬虫系统.基于内容的搜索策略,如SharkSSearch算法,首先是对网页中的文本内容信息进行分析,然后依据用户主题与其之间的相关度,对网络爬虫遍历的方向和路径进行确定.当期望可以对重要性较高的网络页面优先抓取时,就可以采用基于链接的搜索策略.该搜索策略首先挖掘及解析网页之间的链接关系,从而计算出网页的重要性,按照网络页面重要性相关度由高到低依次爬取.

2交通信息获取的研究

2.1利用传感器网络、射频识别等技术获取交通信息.在智能交通系统研究领域,利用传感器网络技术研究单点、断面和区域的交通信息获取方法是重点的研究方向[5].张毅刚[6]对交通信息获取的需求进行了分析,设计了无线传感网RTISN,用来获取道路交通信息.李海舰[7]研究了一种多参量交通信息获取的方法,实现了TIASN网络中单个传感器获取尽可能丰富的多参量交通信息.而这些信息中,包含着交通流参数、交通流构成要素等.射频识别技术,又称之为无线射频识别.对于特定目标,射频识别技术可通过无线电讯号对其进行识别,并读写相关数据.利用射频识别技术原理,康慨[8]设计了一种交通信息获取系统框架结构,来完成交通车辆信息的获取.赵泰洋等[9]提出了一种交通信息获取系统,这个系统就是基于射频识别技术,使获取车辆的身份信息和位置信息得到实现.刘海华等[10]建立了交通信息采集及融合处理技术框架,利用射频识别技术读卡装置来采集实时交通信息.2.2基于定位数据、多源数据等的交通信息获取.基于定位数据与技术的交通信息获取是交通大数据研究的方向之一.王汝洸[11]研究了城市交通起讫点信息获取方法,其中就包括基于浮动车定位数据对这些信息进行获取.赖见辉[12]研究了基于手机定位数据的交通信息提取技术.胡坚明等[13]基于无线定位技术,对相当精度交通信息的获取方法进行了研究.对于基于多源数据的交通信息获取,戴志鑫[14]通过该方法对交通状态特征信息的获取进行了研究.基于交通控制系统、车辆GPS系统和道路收费系统等多源数据,李琦[15]提出了获取交通信息数据并对其进行预处理的方法.2.3利用摄像装置获取交通信息.利用摄像装置进行动态交通信息的获取,是智能交通系统中的一个重要手段.王超[16]研究了适用于交通引导系统的交通数据采集技术,其中包括了利用摄像装置采集信息的视频车辆检测技术.基于视频图像处理,张瑞等[17]对微观交通数据的获取进行了研究,即通过视频数据获取车辆行驶轨迹、车速和车头时距等.2.4其他交通信息获取方法.徐东伟[18]对道路交通状态的获取方法进行了研究,提出了道路交通状态多维多粒度获取方法.具体来说,这种方法是基于交通信息模板、区域交通吸引子匹配、虚拟速度传感器节点及压缩感知来对道路交通状态信息进行获取.从固定点、轨迹线和大空间交通数据三个方面,曲腾姣[19]系统地解释了动态交通数据的获取技术.通过对微观仿真系统模型结构及仿真运行特点进行研究,霍莹[20]提出了基于时空折算对交通信息进行获取的方法.交通信息获取是智能交通的重要组成部分,就目前而言,交通信息的获取方法多样,但大多数都是对有限个、结构化的数据进行获取.虽然有些技术已经较为成熟,解决了结构化的交通信息的获取问题,但是面对海量交通信息,这些技术与方法仍均需要不断地改进,其研究也需要依据需求进一步深入.

3应用网络爬虫技术进行交通信息获取

3.1交通事故分析数据获取.通过对交通事故涉及到的事故车辆、事故天气、道路状况等其他有关的数据进行获取和深度挖掘,从中找到交通事故致因,分析事故发生的规律.Bao等[21]开发了一个Web爬虫,用于自动从Twitter签到数据中收集场所类型信息,研究了如何利用Twitter签到数据将人类活动信息融入城市地区撞车事故的空间分析中.周菲菲[22]截取了贵阳市和上海市这两地2015年的交通事故数据,并利用爬虫系统获取了网络中的车辆品牌数据,与原数据进行融合后生成车辆类型新变量,通过统计分析和可视化分析得到了影响交通事故发生的相关因素.文献[2]利用网络爬虫技术从中国天气网站抽取了天气信息,从新浪微博上获取了包含“交通事故”的消息,从中探索出了天气情况对交通事故发生的影响.南春丽等[23]采用DeepWeb数据采集方法,从北京交通管理部门的网站,获取了交通事故点文字信息,然后将其与相关道路线形空间数据整合,进行了这两者等的相关性研究.目前,国外在应用网络爬虫技术获取交通数据以用于交通事故分析方面的研究较少,而国内在这方面的研究则取得了相对较多的成果.国内不同的相关研究获取的数据也不同,主要包括:外部互联网的车辆品牌数据、微博上的“交通事故”消息、权威网站的交通事故点文字信息等.3.2公共交通信息获取.公共交通信息包括与公共交通服务有关的信号、数据、显示等,通过网络爬虫技术可对其进行批量获取.Darshan[24]提出了一种解决自行车需求预测问题的方法,其中便给出了用于读取数据的Python代码.自行车共享系统产生的数据,即旅行的时间、出发地点、到达地点和经过的时间被明确地记录下来,该项目的目的是利用历史使用模式和天气数据预测华盛顿自行车项目的自行车租赁需求.他使用NUMPY库来读取培训和测试数据,还示例出读取训练数据并创建输入和目标矩阵来训练的模型代码.合作API接口和网络爬虫是现今公交系统的主要数据来源.目前,多数研究都是以网络爬虫为重点研究对象.而这是由于与各地公交合作的API接口数据较少.于浩川[25]基于网络爬虫技术进行了公交线路数据的抓取,给出了网络爬虫方法应用下交通信息的获取流程.JSON格式,是一种轻量级的数据交换格式.共享单车应用程序数据包使用的就是这种格式.王宇洋[26]通过网络爬虫技术,完成了实时获取共享单车的位置信息,并且,针对这类海量信息,完成了信息处理分析及信息可视化.庄楚天等[27]通过网络爬虫技术获取了公共自行车站点数据,包括站点实时可借与可还车辆数、站点名称及其经纬度等信息,并以5min为时间间隔爬取以保证数据的连续性.另外,庄楚天[28]还获取了城市POI数据和站点间路网距离数据,然后对空间数据进行统计分析,做到了定量把握站点布设、使用情况等.苏图[29]使用Python编写网络爬虫技术实现了终端上本地页面内容的自动更新,通过架设一个可移动的智能WiFi热点,为没有WiFi网络覆盖的公共交通上的用户提供无线网络服务方案.由文献资料知,在公共交通信息获取方面,国内外的研究主要集中在共享自行车(包括公共自行车)的相关研究上面,主要是应用网络爬虫技术获取其位置信息及站点信息.对于其他公共交通信息获取,如利用网络爬虫技术获取公交线路信息等也有一定的研究,但是对于地铁、轻轨等的相关信息数据获取的研究几乎没有.3.3交通地理信息获取.交通地理信息的获取往往需要借助于计算机技术,网络爬虫即是其中之一.Li等[30]提出利用分布模式的主动爬虫作为地理空间信息获取方法,结果表明,他们所提出的爬虫在爬行效率和结果覆盖率、活跃度方面均取得了良好的性能.该研究有助于在大规模和动态的万维网上实现自动GWS发现,并促进业务互操作的分布式地理空间服务,使地理空间信息更广泛地应用于交通中.高波[31]针将基于链接与基于内容搜索策略的网络爬虫相结合,提出了SS-HITS算法,进行了地理信息数据的获取.吴燕琴[32]提出的旅游比价决策系統通过框架Scrapy爬取来自不同旅游网站的出行信息,同时将网页信息存储于Mon-goDB中,并对相关路线进行分析,由此确定最佳决策.刘康等[33]应用网络爬虫技术抓取了长沙市地铁站点及多个POI地标的地理位置信息,为交通便捷性等的研究提供了数据支持.对于利用网络爬虫技术获取交通地理信息,主要研究成果集中在国内,上文中的外文文献为国内研究人员在国外期刊上发表的文章.这类研究主要集中在获取地理空间、位置信息等数据上.3.4实时交通信息采集.拥堵的交通数据涉及大规模和复杂的时空信息,使得挖掘交通数据变得困难,且交通数据的来源并不容易获得.Tian等[34]从北京四环路区域的电子地图中爬取了和实时交通信息,其道路状态反映该区域的交通状况,提供了一种从在线地图数据中分析交通拥堵的可行方法.实时数据每隔5min收集一次,在收集实时交通数据后,手动将数据作为矢量处理,然后以SHP层的格式存储.主题网络爬虫技术是获取特定主题的有效手段,其搜索算法的性能直接决定着搜索结果的优劣.张芳等[35]进提出了非贪婪遗传主题网络搜索算法,该算法搜索策略的查全率及准确率,能够精准地获取实时高速公路信息.闫文豪等[36]应用Python语言和Tornado网络框架,设计了一个稳定、高效、及时的爬虫程序.他们以广州市为例,从四维交通指数网页抓取到了1723条道路的基本信息及其每5min更新一次的实时交通数据,并将获取结果保存到MySQL数据库,其研究结果表明网络爬虫技术在实时交通数据采集方面具有可行性和有效性.利用网络爬虫技术,张献力[37]实现了实时地从网络上抓取交通信息,其中交通官网和交通论坛的交通信息爬虫均釆用Java语言来实现.陈功[38]进行了基于VoiceXML的实时路况查询系统的设计与实现,其中路况实时状态的信息数据即通过自动抓取相关互联网资源得到.孙丹东[39]基于地理信息系统设计了一个网络爬虫来获取实时交通信息.李威[40]阐述了网络爬虫技术的工作原理和基本操作方法,设计了一个基于网络爬虫技术的交通流瓦片下载器,实现了交通流量图的批量下载,从而为后续交通流量数据的提取研究奠定了基础.总结来说,应用网络爬虫技术进行实时交通信息采集的研究是相对较为广泛的,但同样这类研究成果主要集中在国内,国外就较为空白.获取实时交通信息的关键在于,在网络爬虫的过程中,需要每隔一定时间收集一次,因此爬取间隔的设定需要依据不同需要进行特定设置.3.5交通运输技术研究所需信息的获取.在交通运输技术研究时,对于所需数据的获取,网络爬虫的应用也较为广泛.王子凡[41]利用网络爬虫抓取了万维网交通领域的网页文本,实现了交通术语自动生成,为交通术语的挖掘以及预测交通行业的发展趋势等提供了理论和技术支持.邹永平[42]在基于CMS面向铁路服务的网站开发研究中,釆用网络爬虫技术对天气预报和车次、站点、站站的查询数据等信息进行了抓取,并且每隔6小时重新抓取一次,实现了从铁路服务网站查询车次等信息的功能.颜高峰[43]以港口集疏运信息数据为例,研究了主题网络爬虫技术,实现了基于港口业务主题对外部数据的获取.目前,利用网络爬虫技术获取交通运输技术研究相关信息涉及到了交通领域文本信息的获取、铁路、港口等相关数据的获取,对于实际应用有着很好的前景.虽然部分学者研究了这部分内容,但是由于研究文献较少,不足以归纳出一般性结论.3.6交通领域评价反馈信息获取.在交通领域评价反馈信息获取的相关研究中,杨奕等[44]以中华人民共和国交通运输部官方网站“出租车行业改革”专栏作为研究对象,采用网络爬虫软件八爪鱼采集器,对网约车合法化问题的不同评论进行了全面信息采集,降低获取信息的成本的同时提高了效率.刘鑫提出引导乘客带有#车次号#的微博内容,然后利用网络爬虫采集微博数据.该爬虫采用的是广度优先搜索策略,即将关键字搜索结果逐页抓取,获取大量的评价内容,从而分析其服务质量.对于交通领域评价反馈信息获取,研究相对来说较少,但是应用前景是较为明朗的,通过网络爬虫技术获取到评价反馈信息以后,有助于相关效率、质量等的提升.通过上述研究资料知,在网络爬虫在交通信息获取中的应用中,目前,对于海量交通信息,网络爬虫技术是一种很好的手段.网络爬虫技术解决了海量交通信息难以批量获取的问题,但是整个应用现状还不够普遍和成熟,今后仍需要通过不断的实践和研究来充实这一方面的应用.

4结束语

交通信息数据获取研究是交通中重要的研究课题之一.网络爬虫技术能够准确高效地从繁杂的网络信息中获取所需要的交通信息,对海量交通信息难以批量采集的问题给出了有效的解决方案.通过上述文献综述可知,目前,网络爬虫技术在交通信息获取中的应用,主要集中在交通事故分析数据获取、公共交通信息获取、交通地理信息获取、实时交通信息采集、交通运输技术研究所需数据获取、交通领域评价反馈信息获取这六个方面.然而,应用网络爬虫技术进行交通信息获取的研究也有不足之处.就目前的国内外研究现状来看,网络爬虫技术的爬虫方法与各类交通信息获取的对应关系还需要进一步研究;如何结合数据特性确定合理的爬取间隔、重复的交通信息数据的识别和删除等问题也有待解决.总体来看,将网络爬虫技术合理地应用到交通信息获取的研究中,在交通控制、智能交通系统等领域发挥其作用,为交通事故的产生和类型判断、实时交通信息采集、交通地理信息获取等都提供了新的研究思路,有着广阔的应用前景.

作者:秦雅琴 马玲玲 单位:昆明理工大学交通工程学院