Hreinsaðu IP:gátt-staðgengilslista með Python
Athugaðu einfalda IPv4-skrá, samræmdu gáttir og fjarlægðu tvítekningar en haltu ólíkum gáttum á sömu IP-tölu.
Settu eina IPv4-færslu IP:port á hverja línu í proxies.txt. Allar verða að tilheyra einni þekktri staðgengilssamskiptareglu. Ef þær koma af lista yfir ókeypis staðgengla skaltu aðskilja samskiptareglur áður en þú útbýrð þetta textainntak. Hreinsunin tekur ekki við slóðum með aðgangsupplýsingum, CSV-dálkum eða IPv6-tölum.
Vistaðu þessa skrift sem notar staðalsafnið sem clean-proxies.py í sömu möppu:
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")
Keyrðu hana úr þeirri möppu:
uv run --no-project python clean-proxies.py
Skoðaðu tilkynningar um línur sem var sleppt og proxies-clean.txt; inntaksskráin helst óbreytt. Úttakið heldur röð fyrstu birtingar og fjarlægir tvítekningar eftir tölu ásamt tölulegri gátt. Tvö eintök af 203.0.113.10:8080 og eitt af 203.0.113.10:3128 gefa tvo endapunkta. Tugakerfisgáttin 08080 er samræmd í 8080.
Skjalatölurnar sýna aðeins snið. Gild IPv4-setningafræði inniheldur einka- og sértilgangstölur, svo hreinsuð færsla er ekki endilega aðgengileg opinberlega. Bættu við skýrri tölustefnu ef listinn á aðeins að innihalda opinberar tölur.
Fyrir blandað HTTP/SOCKS-inntak skaltu geyma samskiptaregluna í aðskildum skrám eða dálki; ekki álykta hana af gátt 1080. Notaðu greinara fyrir IPv6 í hornklofum ef það er raunverulega sniðið. Skriftan hafnar óstuddu inntaki fremur en að giska; úttakið segir ekkert um tiltækileika, nafnleynd, land eða hraða. Það krefst stýrðra tengiprófa.