0x01. 回顾
上一篇,简单写了下抓信息的单线路玩法,经过简单update代码之后,就可以爬出一下的结果:
为了做到format数据的效果,在format内增加如下代码,且重新简化了查询需要的参数:
def formatFlightInfo(d):
#Parse flight info
for i in d:
#base info is contained in luggageVisaKey
# outFlight=d['flightSegments'][0]
# inFlight=d['flightSegments'][1]
for priceList in i['priceList']:
priceTags=''
if priceList.get('priceTags',None):
for pT in priceList['priceTags']:
priceTags+=str(pT['label'])+'|'
detail=''
for flight in json.loads(priceList['luggageVisaKey'])['criteria']['FlightInfoList']:
detail+=flight['MarketingFlightNo']+","
detail+=flight['DepartureCityCode']+","
detail+=flight['TakeOffDateTime']+","
detail+=flight['ArrivalCityCode']+","
detail+=flight['ArrivalDateTime']+","
detail+=str(flight['IsTransit'])+","
print '{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}'.format(
str('"')+i['itineraryId']+str('"'),
i['flightSegments'][0]['flightList'][0]['departureDateTime'],
i['flightSegments'][0]['flightList'][0]['departureCityName']+" - "+i['flightSegments'][0]['flightList'][0]['departureAirportName']+" - "+i['flightSegments'][0]['flightList'][0].get('departureTerminal','null'),
i['flightSegments'][0]['flightList'][len(i['flightSegments'][0]['flightL