示例#1
0
 def __init__(self):
     self.db = RedisClient()
     # self.db.recheck()
     # self.db.clear_all()
     self.crawlers = [xiciproxy.xiciproxy()
                      ]  #,xiciproxy.xiciproxy()_66proxy._66proxy(),
     self.check_task = threading.Thread(target=self.check_useful_task)
     self.check_task.daemon = True
     self.check_task.start()
     self.check_task = threading.Thread(target=self.interface)
     self.check_task.daemon = True
     self.check_task.start()
     self.update()
示例#2
0
 def __init__(self, bind_ip, bind_port, process_id):
     self.bind_ip = bind_ip
     self.bind_port = bind_port
     self.process_id = process_id
     self.nid = get_rand_id()
     # nodes 节点是一个双端队列
     self.nodes = deque(maxlen=MAX_NODE_QSIZE)
     # KRPC 协议是由 bencode 编码组成的一个简单的 RPC 结构,使用 UDP 报文发送。
     self.udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,
                              socket.IPPROTO_UDP)
     # UDP 地址绑定
     self.udp.bind((self.bind_ip, self.bind_port))
     # redis 客户端
     self.rc = RedisClient()
     self.logger = get_logger("logger_{}".format(bind_port))
示例#3
0
 def __init__(self):
     self.redis = RedisClient()
示例#4
0
#!/usr/bin/env python
# coding=utf-8

from sanic import Sanic
from sanic.response import json, html
import os
import sys

base_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, base_dir)

from database import RedisClient

app = Sanic()
redis_conn = RedisClient()


@app.route("/")
async def index(request):
    return html('<h2>Welcome to Proxy Pool System</h2>')


@app.route("/pop")
async def pop_proxy(request):
    proxy = await redis_conn.pop_proxy()
    if proxy:
        proxy = proxy.decode('utf-8')
    if proxy[:5] == "https":
        return json({"https": proxy})
    else:
        return json({"http": proxy})