Python વડે IP:પોર્ટ પ્રોક્સી યાદી સાફ કરો
સાદી IPv4 ફાઇલ તપાસો, પોર્ટ સામાન્ય બનાવો અને એક IP ના જુદા પોર્ટ રાખીને નકલો દૂર કરો.
IPv4 IP:port ની એક એન્ટ્રી દર લાઇનમાં proxies.txtમાં મૂકો. બધી એક જાણીતા પ્રોક્સી પ્રોટોકોલની હોવી જોઈએ. મફત પ્રોક્સીની યાદીમાંથી મેળવો તો આ ટેક્સ્ટ ઇનપુટ બનાવતા પહેલાં પ્રોટોકોલ જુદા કરો. સફાઈ પ્રવેશ માહિતીવાળા URL, CSV કૉલમ અથવા IPv6 સરનામાં સ્વીકારતી નથી.
સ્ટાન્ડર્ડ લાઇબ્રેરીવાળી આ સ્ક્રિપ્ટ એ જ ડિરેક્ટરીમાં clean-proxies.py તરીકે સાચવો:
from ipaddress import IPv4Address
from pathlib import Path
seen = set()
cleaned = []
for number, raw in enumerate(
Path("proxies.txt").read_text(encoding="utf-8").splitlines(),
start=1,
):
text = raw.strip()
if not text:
continue
try:
host, port_text = text.rsplit(":", 1)
host = str(IPv4Address(host))
port = int(port_text)
if not 1 <= port <= 65535:
raise ValueError("port out of range")
except ValueError:
print(f"Skipping line {number}: invalid IPv4 endpoint")
continue
endpoint = (host, port)
if endpoint not in seen:
seen.add(endpoint)
cleaned.append(f"{host}:{port}")
output = "\n".join(cleaned)
Path("proxies-clean.txt").write_text(
output + ("\n" if output else ""),
encoding="utf-8",
)
print(f"Saved {len(cleaned)} endpoints")
તે ડિરેક્ટરીમાંથી ચલાવો:
uv run --no-project python clean-proxies.py
છોડેલી લાઇનના સંદેશા અને proxies-clean.txt તપાસો; ઇનપુટ ફાઇલ અખંડ રહે છે. આઉટપુટ પ્રથમ દેખાવનો ક્રમ રાખે છે અને સરનામું તથા આંકડાકીય પોર્ટના જોડા પર નકલો દૂર કરે છે. 203.0.113.10:8080ની બે નકલ અને એક 203.0.113.10:3128 બે એન્ડપોઇન્ટ આપે છે. દશાંશ પોર્ટ 08080 સામાન્ય થઈ 8080 બને છે.
દસ્તાવેજનાં સરનામાં માત્ર ફોર્મેટ બતાવે છે. યોગ્ય IPv4 રચનામાં ખાનગી અને ખાસ ઉપયોગનાં સરનામાં પણ છે, એટલે સાફ એન્ટ્રી જરૂર જાહેર પહોંચવાળી નથી. માત્ર જાહેર યાદી જોઈએ તો સ્પષ્ટ સરનામા નીતિ ઉમેરો.
મિશ્ર HTTP/SOCKS ઇનપુટમાં પ્રોટોકોલ જુદી ફાઇલ કે કૉલમમાં રાખો; પોર્ટ 1080થી અનુમાન ન કરો. સાચું ફોર્મેટ ચોરસ કૌંસવાળું IPv6 હોય તો યોગ્ય પાર્સર વાપરો. સ્ક્રિપ્ટ અનુમાનને બદલે અસમર્થિત ઇનપુટ નકારે છે; આઉટપુટ ઉપલબ્ધતા, અનામીપણું, દેશ કે ઝડપ નથી જણાવતું. તે માટે નિયંત્રિત જોડાણ ટેસ્ટ જોઈએ.