import requests import time import datetime import pymysql import random import traceback import logging from auto_request import login, click, time_convs from auto_request import host, user, db, passwd def get_data(numtime, numtime2): try: pc = pymysql.connect(host=host, user=user, passwd=passwd, db=db, port=3306) cursor = pc.cursor() cursor.execute( "SELECT user_id , id FROM topic WHERE is_online=1 and create_time > '%s' and create_time < '%s' " % ( numtime, numtime2)) data = cursor.fetchall() topic_id = list(data) topic_id_list = [] for i in topic_id and topic_id: cursor.execute( "select user_id from user_extra where user_id =" + str(i[0]) + " and is_shadow =0") data = cursor.fetchall() user_id = list(data) if user_id: 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 [] if __name__ == "__main__": try: time_list = [1, 2, 3, 4, 5, 6, 7] for i in time_list: numtime1, numtime2 = time_convs(7 + 3 * i + 1, 7 + 3 * i - 1) user_id = get_data(numtime1, numtime2) dicts = {} for i in user_id and user_id: if i[0] not in dicts.keys(): dicts.setdefault(i[0], []) dicts[i[0]].append(i[1]) else: dicts[i[0]].append(i[1]) for key, value in dicts.items(): rand_num = random.randint(0, len(value) - 1) rand_id = value[rand_num] urge_num = random.randint(0, 1) for i in range(urge_num): time.sleep(random.randint(1, 10)) cook = login() if cook is not None: click(cook, rand_id) except: logging.error("catch exception,main:%s" % traceback.format_exc())