def count_proxy(): try: cnt = (proxy_db_session.query(func.count(Proxys.id)).first())[0] if type(cnt) == int: return cnt else: return 0 except Exception as e: return 0
def get_proxy_by_dict(proxy_dict): if not proxy_dict: return None value = proxy_dict.get('http') if value: value = value.replace('http://', '').split(':') ip = value[0] port = value[1] result = proxy_db_session.query(Proxys).filter(Proxys.ip == ip).filter( Proxys.port == port).first() return result value = proxy_dict.get('https') if value: value = value.replace('https://', '').split(':') ip = value[0] port = value[1] result = proxy_db_session.query(Proxys).filter(Proxys.ip == ip).filter( Proxys.port == port).first() return result return None
def fetch_proxy(status=1, num=1): if num <= 0: return [] count = count_proxy() result = [] if status == 1: if count >= num: result = proxy_db_session.query(Proxys).filter( Proxys.protocol != 0).limit(num).all() elif count > 0: result = proxy_db_session.query(Proxys).filter( Proxys.protocol != 0).limit(count).all() elif status == 0: if count >= num: result = proxy_db_session.query(Proxys).filter( Proxys.protocol != 1).limit(num).all() elif count > 0: result = proxy_db_session.query(Proxys).filter( Proxys.protocol != 1).limit(count).all() if not result and result != []: result = [] return result
def del_proxy_by_id(proxy_id): proxy = proxy_db_session.query(Proxys).filter(Proxys.id == proxy_id).one() if proxy: proxy_db_session.delete(proxy) proxy_db_session.commit()
def get_proxy_source_by_source(): proxy_sources = proxy_db_session.query(ProxySource).filter( ProxySource.status == 1).all() return proxy_sources
# coding:utf-8 # from db.redis_db import Proxys from db.basic_db import proxy_db_session from db.models import Proxys # test code if __name__ == '__main__': r = proxy_db_session.query(Proxys).filter(Proxys.id == 1).first() print(r.createtime) # end
def count_proxy(): results = proxy_db_session.query(Proxys).count()