コード例 #1
0
ファイル: qunar.py プロジェクト: extrainfo/ATP
def analysis(fileName):
    retList = []
    with open(fileName) as f:
        s = BeautifulSoup(f, 'html.parser')
        sub = s.find(class_='e_fly_lst')
        if not sub:
            return None
        for airline in sub.children:
            if 'class' in airline.attrs and len(airline['class']) == 1 and airline['class'][0] == u'avt-column':
                print airline
                L.debug("{}", airline['id'])
                info = airline.contents[0].contents
                L.debug("{}", info)
                try:
                    flightNo = getFlightNumber(info[1])
                    depTime, depAirport = getDepartureTimeAirport(info[2])
                    elapsedTime = getElapsedTime(info[3])
                    arrTime, arrAirport = getArriveTimeAirport(info[4])
                    ptyRate, delayTime = getPunctualityRateDelayTime(info[5])
                    ticketPrice = getTicketPrice(info[6])
                except:
                    L.warning("Get info from airline failed. content = {}", airline)
                    continue
                
                rec = (flightNo, depTime, depAirport, arrTime, arrAirport, elapsedTime, ptyRate, delayTime, ticketPrice)
                retList.append(rec)
    return retList
コード例 #2
0
def analysis(fileName):
    retList = []
    with open(fileName) as f:
        s = BeautifulSoup(f, 'html.parser')
        sub = s.find(class_='e_fly_lst')
        if not sub:
            return None
        for airline in sub.children:
            if 'class' in airline.attrs and len(
                    airline['class']
            ) == 1 and airline['class'][0] == u'avt-column':
                print airline
                L.debug("{}", airline['id'])
                info = airline.contents[0].contents
                L.debug("{}", info)
                try:
                    flightNo = getFlightNumber(info[1])
                    depTime, depAirport = getDepartureTimeAirport(info[2])
                    elapsedTime = getElapsedTime(info[3])
                    arrTime, arrAirport = getArriveTimeAirport(info[4])
                    ptyRate, delayTime = getPunctualityRateDelayTime(info[5])
                    ticketPrice = getTicketPrice(info[6])
                except:
                    L.warning("Get info from airline failed. content = {}",
                              airline)
                    continue

                rec = (flightNo, depTime, depAirport, arrTime, arrAirport,
                       elapsedTime, ptyRate, delayTime, ticketPrice)
                retList.append(rec)
    return retList
コード例 #3
0
ファイル: search_simulate.py プロジェクト: extrainfo/ATP
def searchOne(casperScript, dep, arr, depDate):
    cmd = "casperjs '{}' '{}' '{}' '{}' '{}' '{}'".format(casperScript, dep[0], dep[1], arr[0], arr[1], depDate)
    ret, out = commands.getstatusoutput(cmd)
    if ret != ER_SUCC:
#         L.error("Execute command[{}] failed, errCode: {}, errMsg: {}".format(cmd, ret, out))
        L.error("Execute command[{}] failed, errCode: {}, errMsg:{}", cmd, ret, out)
        return ret
    
#     L.debug("Execute command[{}] succeed, Msg: {}".format(cmd, out))
    L.debug("Execute command[{}] succeed", cmd)
    ret = processDataByFile("/tmp/searchResult.html", depDate, dep[0], arr[0])
    return ret
コード例 #4
0
ファイル: search_simulate.py プロジェクト: xiehuc/ATP
def searchOne(casperScript, dep, arr, depDate):
    cmd = "casperjs '{}' '{}' '{}' '{}' '{}' '{}'".format(
        casperScript, dep[0], dep[1], arr[0], arr[1], depDate)
    ret, out = commands.getstatusoutput(cmd)
    if ret != ER_SUCC:
        #         L.error("Execute command[{}] failed, errCode: {}, errMsg: {}".format(cmd, ret, out))
        L.error("Execute command[{}] failed, errCode: {}, errMsg:{}", cmd, ret,
                out)
        return ret


#     L.debug("Execute command[{}] succeed, Msg: {}".format(cmd, out))
    L.debug("Execute command[{}] succeed", cmd)
    ret = processDataByFile("/tmp/searchResult.html", depDate, dep[0], arr[0])
    return ret