import requests
import colorama
from os import system

colorama.init(autoreset=True)
system("title Proxy-Scraper")

def fetch_proxies(url):
    response = requests.get(url)
    return response.text.splitlines()

def save_proxies(proxies, filename):
    with open(filename, "w") as file:
        for proxy in proxies:
            file.write(proxy + "\n")

def main():
    proxy_sources = {
        "https": "https://api.proxyscrape.com/?request=displayproxies&proxytype=https&timeout=7000&country=ALL&anonymity=elite&ssl=no",
        "http": "https://api.proxyscrape.com/?request=displayproxies&proxytype=http&timeout=7000&country=ALL&anonymity=elite&ssl=no",
        "socks4": "https://www.proxy-list.download/api/v1/get?type=socks4",
        "socks5": "https://www.proxy-list.download/api/v1/get?type=socks5",
    }

    proxies = {ptype: fetch_proxies(url) for ptype, url in proxy_sources.items()}
    
    for ptype, proxy_list in proxies.items():
        save_proxies(proxy_list, f"{ptype}.txt")
        for proxy in proxy_list:
            print(f"[{colorama.Fore.GREEN}+{colorama.Fore.RESET}] Successfully Found {ptype.upper()} >> {proxy}")
    
    print(f"[{colorama.Fore.CYAN}i{colorama.Fore.RESET}] All proxies successfully grabbed & saved")

if __name__ == "__main__":
    main()

06.06.2024

최적화:

  1. 프록시 로드 및 저장 논리가 단순화되었습니다.
  2. 불필요한 변수와 함수를 제거했습니다.
  3. 사전을 사용하여 프록시 URL 및 유형을 저장하여 가독성과 확장성을 향상했습니다.
  4. 일반적인 운영을 다음과 같이 통합했습니다. fetch_proxies 그리고 save_proxies 코드 중복을 줄이는 기능입니다.

댓글 (0)

여기에는 아직 댓글이 없습니다. 첫 번째 댓글이 되실 수 있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


프록시 선택 및 구매

데이터센터 프록시

회전 프록시

UDP 프록시

전 세계 10,000명 이상의 고객이 신뢰함

대리 고객
대리 고객
대리 고객 flowch.ai
대리 고객
대리 고객
대리 고객