ארויסנעמען פּראָקסי ענדפּוינטן איין טאַבעל רייע אויף אַ מאָל
האַלטן IP אַדרעסן פּאָרפּאָר מיט זייערע פּאָרטן און פּרובירן די פֿעלדער ביים פּאַרסירן אַ געהיטענע HTML טאַבעל פֿון אַ פּראָקסי ליסטע.
פּאַרסירט יעדער פּראָקסי רייע ווי איין איינהייט. אויב מען פֿלאַכט אויס אַלע פּאַסיקע td אויף דער זײַט און מען גרופּירט די רעזולטאַטן לויט אַ פֿעסטער צאָל, קען אַן אַדרעס פֿון איין רייע ווערן פּאָרפּאָר מיט אַ פּאָרט פֿון דער נעקסטער ווען אַ צעל פֿעלט אָדער עס דערשײַנט אַן אַנדער טאַבעל.
פֿאַר HTML וואָס די אַפּליקאַציע האָט שוין באַקומען, קען אַ טאַבעל וואָס אירע ערשטע צוויי זײַטן זענען IP אַדרעס און פּאָרט ווערן פּאַרסירט אַזוי:
import ipaddress
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
table = soup.select_one(table_selector)
if table is None:
raise ValueError("Expected proxy table was not found")
endpoints = set()
for row in table.select("tbody tr"):
cells = row.find_all("td", recursive=False)
if len(cells) < 2:
continue
try:
address = ipaddress.ip_address(cells[0].get_text(strip=True))
port = int(cells[1].get_text(strip=True))
except ValueError:
continue
if 1 <= port <= 65535:
endpoints.add((str(address), port))html און table_selector זענען איינזאַצן פֿון דער אַפּליקאַציע. קלייבט דעם סעלעקטאָר און די זײַטן-מאַפּינג לויט דער טאַקע מאַרקירונג פֿון דער מקור. די פֿרײַע פּראָקסי ליסטע איז איין מקור פֿון ענדפּוינט רעקאָרדן, אָבער אירע רייעס דאַרף מען באַטראַכטן איידער מען קלייבט די מאַפּינג. סיי אַן אַלטער טאַבעל ID סיי די טענה אַז אַ זײַט האָט פּונקט 300 רעקאָרדן זענען נישט קיין דוירהאַפֿטיקע סכימה.
דער סכום נעמט אַוועק דופּליקאַטע אַדרעס-און-פּאָרט פּאָרן בשעת ער האַלט די פֿאַרבינדונג פֿון יעדן פּאָר. אָבער אַן אומגעריכטער אימפּאָרט מיט נול רעזולטאַטן דאַרף נאָך ווערן אויסגעפֿאָרשט: דער טאַבעל קען האָבן זיך געענדערט אָדער דאָס באַקומענע דאָקומענט קען זיין אַ אַרויסרופֿונג-זײַט און נישט די ליסטע.
האַלט אַן אָנגעזאָגט פּראָטאָקאָל און די פּרובירן-צײַט פֿעלדער לעבן דעם ענדפּוינט ווען זיי זענען וויכטיק. אַרויסנעמען אַ גלייבלעכן IP און פּאָרט באַשטעטיקט נאָר דאָס פֿאָרמאַט, נישט אַז דער ענדפּוינט פֿאַרזאָרגט איצט אַ אַרבעטנדיקע HTTP אָדער SOCKS דינסט.
קעפּל- אָדער פֿילטער-רייעס זענען נישט קיין ענדפּוינטן. אַ רייע וואָס האָט נאָר th צעלן ווערט איבערגעהיפּט, בשעת ליידיקע אָדער נישט-אַדרעס פֿעלדער דורכפֿאַלן די פּרובירונג. וואַרפט נישט אַוועק די ערשטע און לעצטע רייע לויט פּאָזיציע: ביידע קענען זיין אַן עכטער ענדפּוינט נאָך דעם וואָס דער זײַטן-אויסשטעל ענדערט זיך.