예제 #1
0
def like_tweet_func(account_name, password, r_mid):

    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.r_mid = r_mid
    mark = user.like()

    return mark
예제 #2
0
def create_group_func(account_name, password, group, members):
    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.group = group
    user.members = members
    mark = user.createGroup()

    return mark
예제 #3
0
def private_tweet_func(account_name, password, text, r_mid):
    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.text = text
    user.r_mid = r_mid
    mark = user.privmessage()

    return mark
예제 #4
0
def follow_tweet_func(xnr_user_no, account_name, password, uid, trace_type):

    sina_operate_api = SinaOperateAPI(account_name, password)
    mark = sina_operate_api.followed(uid=uid)
    save_type = 'followers'
    follow_type = 'follow'
    save_to_fans_follow_ES(xnr_user_no, uid, save_type, follow_type,
                           trace_type)

    return mark
예제 #5
0
def follow_tweet_func(xnr_user_no, account_name, password, uid, trace_type):

    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.r_mid = uid
    mark = user.followed()
    save_type = 'followers'
    follow_type = 'follow'
    save_to_fans_follow_ES(xnr_user_no, uid, save_type, follow_type,
                           trace_type)

    return mark
예제 #6
0
def publish_tweet_func(account_name, password, text, p_url, rank, rankid,
                       tweet_type, xnr_user_no):

    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.text = text
    user.rank = rank

    new_p_url = user.request_image_url(p_url)

    user.pic_ids = ' '.join(new_p_url)
    user.rankid = rankid
    #print 'user.pic_ids::',user.pic_ids
    mark = user.publish()
    print 'mark...', mark
    # 保存微博
    if mark:
        try:
            save_mark = save_to_xnr_flow_text(tweet_type, xnr_user_no, text)
        except:
            print '保存微博过程遇到错误!'
            save_mark = False

    return mark
예제 #7
0
def retweet_tweet_func(account_name, password, text, r_mid, tweet_type,
                       xnr_user_no):

    sina_operate_api = SinaOperateAPI(account_name, password)
    mark = sina_operate_api.retweet(mid=r_mid, content=text)

    # 保存微博
    if mark:
        try:
            save_mark = save_to_xnr_flow_text(tweet_type, xnr_user_no, text)
        except:
            print 'retweet!!'
            print '保存微博过程遇到错误!'
            save_mark = False

    return mark
예제 #8
0
def retweet_tweet_func(account_name, password, text, r_mid, tweet_type,
                       xnr_user_no):

    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.text = text
    user.r_mid = r_mid
    mark = user.retweet()

    # 保存微博
    if mark:
        try:
            save_mark = save_to_xnr_flow_text(tweet_type, xnr_user_no, text)
        except:
            print '保存微博过程遇到错误!'
            save_mark = False

    return mark
예제 #9
0
def reply_tweet_func(account_name, password, text, r_mid, mid, uid):
    xnr = SinaLauncher(account_name, password)
    xnr.login()
    user = SinaOperateAPI(xnr.uid)
    user.text = text
    user.r_mid = r_mid
    # user.r_uid = xnr.uid
    user.uid = uid
    user.cid = mid
    mark = user.receive()
    return mark
예제 #10
0
def like_comment(account_name, password, r_mid):

    sina_operate_api = SinaOperateAPI(account_name, password)
    mark = sina_operate_api.like_to_comment(mid=r_mid)
    return mark
예제 #11
0
def like_tweet_func(account_name, password, r_mid):

    sina_operate_api = SinaOperateAPI(account_name, password)
    mark = sina_operate_api.like(mid=r_mid)

    return mark
예제 #12
0
def private_tweet_func(account_name, password, text, uid):

    sina_operate_api = SinaOperateAPI(xnr.uid)
    mark = sina_operate_api.privmessage(uid=uid, content=text)

    return mark
예제 #13
0
def reply_tweet_func(account_name, password, text, r_mid, mid, uid):

    sina_operate_api = SinaOperateAPI(account_name, password)
    mark = sina_operate_api.receive(mid=mid, r_mid=r_mid, content=text)
    return mark
예제 #14
0
def update_weibo_xnr_relations(root_uid,
                               uid,
                               data,
                               update_portrait_info=False):
    # pingtaiguanzhu 决定了是否要在平台上真正关注该用户,涉及到更改该关系时,一定要指定该字段(1或0)。
    '''
    :param root_uid: xnr_uid
    :param uid: user_uid
    :param data: relation data. eg: data={'gensuiguanzhu': 1, 'pingtaiguanzhu': 1}
    :param update_portrait_info: update or not
    :return: update success or not
    '''
    xnr_user_no = uid2xnr_user_no(root_uid)
    if xnr_user_no:
        data['platform'] = 'weibo'
        data['xnr_no'] = xnr_user_no
        data['xnr_uid'] = root_uid
        data['uid'] = uid

        # kn 调用爬虫 平台关注 2019年6月06日
        pingtaiguanzhu = data.get('pingtaiguanzhu', -1)
        pingtaiguanzhu_state = load_pingtaiguanzhu_state(root_uid, uid)
        account, password = load_user_passwd(root_uid)
        print(account, password)
        sina_operate_api = SinaOperateAPI(account, password)
        if pingtaiguanzhu != pingtaiguanzhu_state:
            if pingtaiguanzhu == 1:
                print 'go to follow--------------------------------------'
                print sina_operate_api.followed(uid=uid)
                #'gaunzhu'
                data['pingtaiguanzhu'] = 1
            elif pingtaiguanzhu == 0:
                #'quxiao'
                data['pingtaiguanzhu'] = 0

        try:
            print "one-------------"
            _id = '%s_%s' % (root_uid, uid)
            user_exist = es_xnr.exists(index=weibo_xnr_relations_index_name,
                                       doc_type=weibo_xnr_relations_index_type,
                                       id=_id)
            if user_exist:
                print "two-------------"
                if update_portrait_info:
                    protrait_info = update_weibo_user_portrait_info(uid)
                    data.update(protrait_info)
                es_result = es_xnr.update(
                    index=weibo_xnr_relations_index_name,
                    doc_type=weibo_xnr_relations_index_type,
                    id=_id,
                    body={'doc': data})
            else:
                print "three-------------"
                protrait_info = update_weibo_user_portrait_info(uid)
                data.update(protrait_info)
                es_result = es_xnr.index(
                    index=weibo_xnr_relations_index_name,
                    doc_type=weibo_xnr_relations_index_type,
                    id=_id,
                    body=data)
            print data, es_result
            return True
        except Exception, e:
            print 'update_weibo_xnr_relations Error: ', str(e)