Пример #1
0
def price_line_mm(asin):
    data = get_asin_data(asin)['offer']
    price = {}
    for offer in data:
        timestamp = offer['timestamp']
        total = 0
        num = 0
        mi = 100000000000
        ma = -1
        for info in offer['info']:
            num += 1
            p = info['price']
            try:
                total += p
            except:
                print(p)
                temp = p.split('$')
                p = temp[1]
                p = p.replace(',', '')
                p = string.atof(p)
                total += p
            if p > ma:
                ma = p
            if p < mi:
                mi = p
        if price.has_key(timestamp):
            pmax = price[timestamp][0]
            pmin = price[timestamp][1]
            try:
                price[timestamp][0] = max(pmax, ma)
                price[timestamp][1] = min(pmin, mi)
                price[timestamp][2] += total
                price[timestamp][3] += num
            except:
                print(price[timestamp])
                print(ma)
                print(mi)
        else:
            price[timestamp] = [ma, mi, total, num]
    result = []
    for (k, v) in price.items():
        if v[3] != 0:
            t = (datetime.strptime(k, "%Y-%m-%d %H:%M:%S").strftime("%Y-%m"),
                 v[0], v[2] / v[3], v[1])
            # print(t)
            result.append(t)
    # print('-----------------------------------')
    return result
Пример #2
0
def price_line_mm(asin):
    data = get_asin_data(asin)['offer']
    price = {}
    for offer in data:
        timestamp = offer['timestamp']
        total = 0
        num = 0
        mi = 100000000000
        ma = -1
        for info in offer['info']:
            num += 1
            p = info['price']
            try:
                total += p
            except:
                print(p)
                temp = p.split('$')
                p = temp[1]
                p = p.replace(',', '')
                p = string.atof(p)
                total += p
            if p > ma:
                ma = p
            if p < mi:
                mi = p
        if price.has_key(timestamp):
            pmax = price[timestamp][0]
            pmin = price[timestamp][1]
            try:
                price[timestamp][0] = max(pmax, ma)
                price[timestamp][1] = min(pmin, mi)
                price[timestamp][2] += total
                price[timestamp][3] += num
            except:
                print(price[timestamp])
                print(ma)
                print(mi)
        else:
            price[timestamp] = [ma, mi, total, num]
    result = []
    for (k, v) in price.items():
        if v[3] != 0:
            t = ( datetime.strptime(k,"%Y-%m-%d %H:%M:%S").strftime("%Y-%m"), v[0], v[2] / v[3], v[1])
            # print(t)
            result.append(t)
    # print('-----------------------------------')
    return result
Пример #3
0
def asin_keywordAnalyse(asin):
    data = getdata.get_asin_data(asin)
    keywords = {}
    for review in data['review']:
        #sentenses=review['content']
        star = getstar(review['star'])
        sentenses = TextBlob(review['content'])
        sentenselist = sentenses.sentences
        for sentense in sentenselist:
            keyword = get_onesentense_po(sentense, star)
            for (k, v) in keyword.items():
                if keywords.has_key(k):
                    keywords[k][1] += v[1]
                    keywords[k][2] += v[2]
                else:
                    keywords[k] = [v[0], v[1], v[2]]
    kws = []
    for (k, v) in keywords.items():
        kws.append((k, v[1], v[2]))
    kws.sort(key=lambda x: x[1] + x[2])
    kws.reverse()
    if len(kws) >= 8:
        return kws[0:8]
    return kws
Пример #4
0
def asin_keywordAnalyse(asin):
    data = getdata.get_asin_data(asin)
    keywords = {}
    for review in data['review']:
        #sentenses=review['content']
        star = getstar(review['star'])
        sentenses = TextBlob(review['content'])
        sentenselist = sentenses.sentences
        for sentense in sentenselist:
            keyword = get_onesentense_po(sentense, star)
            for (k, v) in keyword.items():
                if keywords.has_key(k):
                    keywords[k][1] += v[1]
                    keywords[k][2] += v[2]
                else:
                    keywords[k] = [v[0], v[1], v[2]]
    kws = []
    for (k, v) in keywords.items():
        kws.append((k, v[1], v[2]))
    kws.sort(key=lambda x: x[1] + x[2])
    kws.reverse()
    if len(kws) >= 8 :
        return kws[0:8]
    return kws