python实现一个简单的项目_用Python做一个简单的机票价格爬取(二)

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

你可能感兴趣的:(python实现一个简单的项目)