# -*- coding: utf-8 -*- import configparser import os from spider_server.logs.logger import Logger logger = Logger(__name__).get_log() class ConfigUtil(object): # 类属性:记录实例是否存在 instance = None # 初始化执行标志 init_flag = False # 创建对象,首先会为对象分配空间 def __new__(cls, *args, **kwargs): # 判断类属性是否为空对象 if cls.instance is None: # 调用父类方法,为对象分配空间 logger.info("ConfigUtil-->分配空间") cls.instance = super().__new__(cls) # 返回对象的引用 return cls.instance # 分配空间后,对象属性初始化 def __init__(self): # 判断是否执行过初始化动作 if ConfigUtil.init_flag:
import requests # 需要安装,解析数据用 from lxml import etree # 正则 import re from spider_server.conf.config_util import ConfigUtil from spider_server.db.db_ocop import OcopDB from spider_server.logs.logger import Logger """ 1 准备URL列表 2 遍历URL,发送请求,获取响应数据 3 解析数据 4 保存数据 """ logger = Logger(__name__).get_log() class BeiJing2020(object): def __init__(self): """初始化数据""" # 准备url模板 self.url = ConfigUtil().get("OCOP", "BEIJING_2020") # 省份名称 self.sydsfmc = "北京" # 录取年份 self.lqnf = 2020 # 科类名称 self.klmc = "综合" # 指定请求头 self.headers = {
# *-* coding:utf8 *-* import datetime, time # 阻塞调度 from apscheduler.schedulers.blocking import BlockingScheduler # 非阻塞调度 from apscheduler.schedulers.background import BackgroundScheduler from spider_server.anjuke_spider import anjuke_server from spider_server.exam_spider import exam_server from spider_server.logs.logger import Logger from spider_server.mafengwo_spider import mafengwo_server from spider_server.zhaopin_spider import zhaopin_server logger = Logger(__name__).get_log() class SchedulerUtil(object): # 类属性:记录实例是否存在 instance = None # 初始化执行标志 init_flag = False # 创建对象,首先会为对象分配空间 def __new__(cls, *args, **kwargs): # 判断类属性是否为空对象 if cls.instance is None: # 调用父类方法,为对象分配空间 logger.info("SchedulerUtil-->分配空间") cls.instance = super().__new__(cls)