在莱特兄弟制造了第一架可控飞机100年后的今天,坐飞机已然成为了大众化的出行方式。可是我们大多数人对航空领域的相关情况了解得还并不多,例如历史上各国航空器制造公司的兴衰、全球各个机场的繁忙程度,和每家航空公司的准点率,还有每家公司的机龄分布和飞机利用率等等问题。为了揭开这一切,几个月前连续跟踪来自https://www.flightradar24.com的全球航空飞行记录。由于飞行记录实时更新,网页包含大量JavaScript代码,要经过渲染处理才能获得我们需要的全部数据。故而在分布式爬虫时不能用常规的方法获取网页内容,可以结合selenium和phantomjs来批量动态获取内容,再使用BeautifulSoup等来抓取有用信息。目前一共获取了400多万条全球飞行记录,寻思着恰好可以利用这些数据来分析一下上面的问题。
经过对原始数据进行清洗、计算、变换等多重预处理操作后得到如下数据格式,如下所示,代表的即是一条飞行记录的各个信息:
{u'age': 0, u'aircraft': u'Flight history for aircraft - 4R-ALP', u'aircraft_num': 8470, u'aircraft_type': u'Airbus A330-343', u'airline': u'SriLankan Airlines', u'airline_arrival_punctuality_rate': 0.9097986577181209, u'airline_departure_punctuality_rate': 0.5763758389261745, u'airline_num': 21, u'airline_record_num': 3725, u'airport_arrival_punctuality_rate': 0.7331968725881682, u'airport_arrival_record_num': 29801, u'airport_departure_punctuality_rate': 0.1418695324530651, u'airport_departure_record_num': 30521, u'arrival_late(mins)': -51, u'average_age': 7.635973154362416,