auto_follow.py 1.68 KB
import pymysql
import traceback
import logging
from vest.request.auto_request import login, time_convs, follow
from vest.request.auto_request import host, user, db, passwd
from libs.error import logging_exception


def get_data(numtime1, numtime2):
    try:
        pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306)
        cursor = pc.cursor()
        cursor.execute(
            "SELECT distinct(user_id) FROM topic WHERE is_online=1 and create_time > '%s' and create_time < '%s'" % (
                numtime1, numtime2))
        data = cursor.fetchall()
        topic_id = list(data)
        topic_id_list = []
        if topic_id:
            for i in topic_id:
                cursor.execute(
                    "select user_id,is_shadow from user_extra where user_id =" + str(
                        i[0]) + " and is_online =1 and  is_deleted =0")
                data = cursor.fetchall()
                user_id = list(data)
                if (user_id and user_id[0][1] == 0) or len(user_id) == 0:
                    topic_id_list.append(i)
            logging.info("Database version : %s " % topic_id_list)
            pc.close()
            return topic_id_list
    except:
        logging.error("catch exception,get_data:%s" % traceback.format_exc())
        return []


def auto_follow():
    try:

        numtime1, numtime2 = time_convs(8, 0)

        user_id = get_data(numtime1, numtime2)

        for j in user_id and user_id:

            id = int(j[0])

            cookies = login()

            if cookies is not None:
                follow(cookies, id)

    except:
        logging_exception()
        logging.error("catch exception,main:%s" % traceback.format_exc())