निर्भरताएँ स्थापित करना

सुनिश्चित करें कि आपके पास Redis स्थापित है और redis-py पायथन से रेडिस के साथ काम करने के लिए लाइब्रेरी। pip का उपयोग करके आवश्यक निर्भरताएँ स्थापित करें:

pip install redis

Redis प्रबंधक बनाना

आइये एक बनाएं RedisManager Redis के साथ अंतःक्रिया को संभालने के लिए क्लास।

import redis
import json
import random
import logging

class RedisManager:
    def __init__(self, host='localhost', port=6379, db=0):
        self.db = redis.StrictRedis(host=host, port=port, db=db, decode_responses=True)
        self.logger = logging.getLogger('proxy_manager')
        self.logger.setLevel(logging.INFO)
        if not self.logger.hasHandlers():
            ch = logging.StreamHandler()
            ch.setLevel(logging.INFO)
            formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            ch.setFormatter(formatter)
            self.logger.addHandler(ch)
        self.proxies = []
        self.load_proxy_list()

    def update_proxies(self, filepath):
        proxies = self.read_proxies_from_file(filepath)
        for proxy in proxies:
            if proxy.get('anonymitylevel') == 'elite' and proxy.get('protocol') in ['http', 'https']:
                if not self.proxy_exists(proxy):
                    self.logger.info(f"proxy: {proxy['ipaddress']} ({proxy['protocol']}, {proxy['anonymitylevel']})")
                    self.proxy_save(proxy)
        self.load_proxy_list()

    def get_proxy(self):
        return random.choice(self.proxies)

    def load_proxy_list(self):
        self.proxies = []
        ret = self.db.smembers("proxies")
        for pid in ret:
            proxy = self.load_proxy(pid)
            if proxy:
                self.proxies.append(proxy)

    def load_proxy(self, pid):
        data = self.db.hmget(f"proxy:{pid}", "ipaddress", "port", "protocol", "anonymitylevel", "source", "country")
        if not all(data):
            return None
        return {k: v for k, v in zip(["ipaddress", "port", "protocol", "anonymitylevel", "source", "country"], data)}

    def proxy_save(self, proxy):
        next_id = self.db.incr("proxies_next_id")
        self.db.hmset(f"proxy:{next_id}", proxy)
        self.db.sadd("proxies", next_id)
        self.db.hset("proxies_ids", proxy['ipaddress'], next_id)

    def proxy_exists(self, proxy):
        return self.db.hexists("proxies_ids", proxy['ipaddress'])

    def read_proxies_from_file(self, filepath):
        with open(filepath, 'r') as file:
            values = json.load(file)
        proxies = []
        for data in values:
            proxy = {
                "ipaddress": data.get("ipaddress", "").lower(),
                "port": str(data.get("port", "")),
                "protocol": data.get("protocols", [""])[0].lower(),
                "anonymitylevel": data.get("anonymitylevel", "").lower(),
                "source": data.get("source", "").lower(),
                "country": data.get("country", "").lower()
            }
            proxies.append(proxy)
        return proxies

स्क्रिप्ट 1: बड़ी संख्या में प्रॉक्सी जोड़ना

यह स्क्रिप्ट किसी फ़ाइल से प्रॉक्सीज़ की सूची पढ़ती है और उन्हें Redis डेटाबेस में जोड़ती है।

import logging

logging.basicConfig(level=logging.INFO)

def main():
    manager = RedisManager()
    filepath = 'path/to/proxy_list.json'
    manager.update_proxies(filepath)
    logging.info("Proxies updated successfully")

if __name__ == "__main__":
    main()

स्क्रिप्ट 2: एक यादृच्छिक प्रॉक्सी प्राप्त करना

यह स्क्रिप्ट Redis डेटाबेस से एक यादृच्छिक प्रॉक्सी सर्वर प्राप्त करती है।

import logging

logging.basicConfig(level=logging.INFO)

def main():
    manager = RedisManager()
    proxy = manager.get_proxy()
    logging.info(f"Random proxy: {proxy}")

if __name__ == "__main__":
    main()

स्क्रिप्ट 3: प्रॉक्सी अस्तित्व की जाँच करना

यह स्क्रिप्ट जाँचती है कि Redis डेटाबेस में कोई विशिष्ट प्रॉक्सी सर्वर मौजूद है या नहीं।

import logging

logging.basicConfig(level=logging.INFO)

def main():
    manager = RedisManager()
    test_proxy = {
        "ipaddress": "192.168.1.1",
        "port": "8080",
        "protocol": "http",
        "anonymitylevel": "elite",
        "source": "test_source",
        "country": "us"
    }
    exists = manager.proxy_exists(test_proxy)
    if exists:
        logging.info("Proxy exists in the database")
    else:
        logging.info("Proxy does not exist in the database")

if __name__ == "__main__":
    main()

स्क्रिप्ट 4: प्रॉक्सी हटाना

यह स्क्रिप्ट Redis डेटाबेस से प्रॉक्सी हटाती है। सबसे पहले, एक प्रॉक्सी जोड़ें delete_proxy विधि RedisManager कक्षा:

def delete_proxy(self, pid):
    self.db.delete(f"proxy:{pid}")
    self.db.srem("proxies", pid)

अब, प्रॉक्सी हटाने की स्क्रिप्ट:

import logging

logging.basicConfig(level=logging.INFO)

def main():
    manager = RedisManager()
    proxy_id = 1  # Replace with the ID of the proxy you want to delete
    manager.delete_proxy(proxy_id)
    logging.info("Proxy deleted successfully")

if __name__ == "__main__":
    main()

निष्कर्ष

इस गाइड में, हमने पायथन और रेडिस का उपयोग करके प्रॉक्सी को प्रबंधित करने के लिए कई स्क्रिप्ट बनाई हैं। ये स्क्रिप्ट आपको रेडिस डेटाबेस से प्रॉक्सी जोड़ने, प्राप्त करने, जांचने और हटाने की अनुमति देती हैं, जो प्रॉक्सी प्रबंधन के लिए एक मजबूत समाधान प्रदान करती हैं। इन उदाहरणों पर निर्माण करके, आप अपनी विशिष्ट आवश्यकताओं के अनुरूप अपने प्रॉक्सी प्रबंधन सिस्टम को और अधिक अनुकूलित और विस्तारित कर सकते हैं।

अभी अपना निःशुल्क परीक्षण प्रॉक्सी प्राप्त करें!

हाल के पोस्ट

टिप्पणियाँ (0)

यहां अभी तक कोई टिप्पणी नहीं है, आप पहले हो सकते हैं!

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *


प्रॉक्सी चुनें और खरीदें

डेटासेंटर प्रॉक्सी

घूर्णनशील प्रॉक्सी

यूडीपी प्रॉक्सी

दुनिया भर में 10000 से अधिक ग्राहकों द्वारा विश्वसनीय

प्रॉक्सी ग्राहक
प्रॉक्सी ग्राहक
प्रॉक्सी ग्राहक प्रवाहch.ai
प्रॉक्सी ग्राहक
प्रॉक्सी ग्राहक
प्रॉक्सी ग्राहक