示例#1
0
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
示例#2
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
示例#3
0
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
示例#4
0
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()
示例#5
0
def get_proxy_source_by_source():
    proxy_sources = proxy_db_session.query(ProxySource).filter(
        ProxySource.status == 1).all()
    return proxy_sources
示例#6
0
# 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
示例#7
0
def count_proxy():
    results = proxy_db_session.query(Proxys).count()