def process_one_cat(url, cat_list): PAGE_NUM_PROCESSING = 1 global_var._init() global_var.set_value("PAGE_NUM_PROCESSING", PAGE_NUM_PROCESSING) global_var.set_value("isLastPage", False) while True: page_num = global_var.get_value('PAGE_NUM_PROCESSING') tmp_url = url + str(page_num) + "/" # getJobList(tmp_url) print("while True main:" + tmp_url) s = requests.Session() lg = Lagou() pagegen = lg.getJobListPerPage(tmp_url, s) for item in pagegen: time_wait = 1 + float(random.randint(1, 100)) / 20 time.sleep(time_wait) print("休息时间:" + str(time_wait)) for job in item: db.insert(job, cat_list) print("跳出生成器") print("休息5秒钟") time.sleep(5) if global_var.get_value("isLastPage"): print("----------爬取结束---------,共" + str(global_var.get_value('PAGE_NUM_PROCESSING')) + "页") break
from app import create_app from global_var import _init, init_load app = create_app() # global_var _init() init_load() if __name__ == '__main__': app.run(host="0.0.0.0", port='20000', debug=True)
# 回调,用于更新web页面数据 # dash框架是前后端不分离的,所以仅仅适用于简单页面部署,复杂页面不推荐使用dash app_callback_function() # 开始运行web服务器 if __name__ == '__main__': a = "123-456-789".split('-') print(len(a)) # 初始化历史记录文件,默认为error状态,即未找到状态 # 在web页面刷新时,自动触发回调,更新history_data的值 # 采用跨文件全局变量,此时这些变量的值可以在其他文件之间获取和修改 global_var._init() global_var.set_value('history_data','error') # 是否是在本地运行(测试) app_local = False # 127.0.0.1表示本机可浏览 # 0.0.0.0表示所有用户均可浏览,一般用于部署到服务器 # 若部署到服务器,请务必在云控制面板的防火墙中允许8090端口 if(app_local): app.run_server(host='127.0.0.1', debug=True, port='8090') else: app.run_server(host='0.0.0.0', debug=False, port='8090')
X = tf.constant([1.05]) Y = tf.constant([2.10]) return X, Y #参数结束 def parse_args(): arglist = [] return arglist #主函数 if __name__ == "__main__": #初始化全局变量,建立用于存储全局的训练信息缓存 gl._init() #加载训练数据 X, Y = load_data() #解析参数 arglist = parse_args() #设置使用cpu开核数量 或 使用gpu sess = tf.Session(config=U.make_session()) with tf.device("/cpu:0"): trainers = [] # 创建worker for i in range(Y.shape[0]): i_name = 'w_%i' % i trainers.append(T.trainer(i_name, arglist, X, Y))