Python开发实例分享bt种子爬虫程序和种子解析

2019-10-06 15:48:52王振洲

            s = "%s%s%s" % (node.nid, inet_aton(node.ip), pack("!H", node.port)) 
            strings.append(s) 
        return "".join(strings) 
    def intify(hstr): 
        return long(hstr.encode('hex'), 16)     
    def timer(t, f): 
        Timer(t, f).start() 
    class BucketFull(Exception): 
        pass 
    class KRPC(object): 
        def __init__(self): 
            self.types = { 
                "r": self.response_received, 
                "q": self.query_received 
            } 
            self.actions = { 
                "ping": self.ping_received, 
                "find_node": self.find_node_received, 
                "get_peers": self.get_peers_received, 
                "announce_peer": self.announce_peer_received, 
            } 
            self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
            self.socket.bind(("0.0.0.0", self.port)) 
        def response_received(self, msg, address): 
            self.find_node_handler(msg) 
        def query_received(self, msg, address): 
            try: 
                self.actions[msg["q"]](msg, address) 
            except KeyError: 
                pass 
        def send_krpc(self, msg, address): 
            try: