def save_shop_basic(session, shop_prof_dir): parsed = {i.sid for i in session.query(ShopBasic).distinct().all()} print '{} shop basic parsed'.format(len(parsed)) data = [ShopBasic(sid, name(c, sid), star(c, sid), addr(c, sid)) for sid, c in read_file(shop_prof_dir, parsed, lambda fn: fn[:-5])] session.add_all(data) session.commit()
def save_shop_cate(session, shop_prof_dir): parsed = {i.sid for i in session.query(ShopTags).distinct().all()} print '{} shop category parsed'.format(len(parsed)) data = [] for sid, c in read_file(shop_prof_dir, parsed, lambda fn: fn[:-5]): text = parse(_cate_progs, c, id, 'shop cate') tags = set(_cate_field_progs.findall(text)) - {'»'} data.extend([ShopTags(sid, tag) for tag in tags]) session.add_all(data) session.commit()
def save_shop_review(session, shop_prof_dir): parsed = {i.key for i in session.query(CntShopReview).distinct().all()} print '{} shop reviews parsed'.format(len(parsed)) cnt = [] data = [] for sid, c in read_file(shop_prof_dir, parsed, lambda fn: fn[:-5]): reviews = _review_ptn.findall(c) cnt.append(CntShopReview(sid, len(reviews))) for rev_id, text, rev_time in reviews: id = '{}-{}'.format(sid, rev_id) uid, username = rev_user(text, id) data.append(ShopReview( rev_id=rev_id, sid=sid, uid=uid, star=rev_star(text, id), entry=rev_entry(text, id), recommend=rev_rec(text, id), rev_time=rev_time)) session.add_all(cnt) session.add_all(data) session.commit()