コード例 #1
0
def main():
    s = initSession()
    urls = ['http://game.granbluefantasy.jp/{teamraid}/ranking_guild/detail/{index}/0'.format(teamraid=teamraid, index=index) for index in range(1, 2017)]
    rs = (grequests.get(u, session=s, stream=False) for u in urls)
    results = grequests.map(rs, size=40)
    now = int(time.time())
    c = db.get_collection(teamraid)
    for r in results:
        try:
            res = r.json()
            for item in res['list']:
                item['time'] = now
                item['name'] = html.parser.unescape(item['name'])
            c.insert_many(res['list'])
        except Exception as e:
            raise e
            print(r.text)
コード例 #2
0
def main():
    s = initSession()

    urls = [
        'http://game.granbluefantasy.jp/{teamraid}/rest_ranking_user/detail/{index}/0'
        .format(teamraid=teamraid, index=index) for index in range(1, 12001)
    ]
    rs = (grequests.get(u, session=s, stream=False) for u in urls)
    results = grequests.map(rs, size=20)
    now = int(time.time())
    for r in results:
        try:
            res = r.json()
            c = db.get_collection('individual')
            for item in res['list'].values():
                item['time'] = now
            c.insert_many(res['list'].values())
        except:
            print(r.text)
コード例 #3
0
def main():
    s = initSession()

    urls = [
        'http://game.granbluefantasy.jp/{teamraid}/rest_ranking_user/detail/{index}/0'
        .format(teamraid=teamraid, index=index) for index in range(1, 12001)
    ]
    rs = (grequests.get(
        u,
        session=s,
        stream=False,
    ) for u in urls)
    results = grequests.map(rs, size=5)
    now = int(time.time())
    c = db.get_collection('{}_individual'.format(teamraid))
    for r in results:
        try:
            res = r.json()
            for item in res['list'].values():
                item['time'] = now
                item['point'] = int(item['point'])
                c.update_one({'_id': int(item['user_id'])}, {
                    '$set': {
                        'history.' + str(now): {
                            'point': item['point'],
                            'rank': item['rank']
                        }
                    }
                },
                             upsert=True)
                if int(item['rank']) in [1000, 30000, 50000, 70000, 120000]:
                    c.update_one({'_id': 'rank_{}'.format(item['rank'])}, {
                        '$set': {
                            'history.' + str(now): {
                                'point': item['point'],
                                'rank': item['rank']
                            }
                        }
                    },
                                 upsert=True)
        except:
            print(r.text)