ۋاكالەتچى ئاخىر نۇقتىلىرىنى جەدۋەلنىڭ بىر قۇرى بويىچە چىقىرىڭ
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 كاتەكچىلىرى بار قۇر ئۆتكۈزۈۋېتىلىدۇ، قۇرۇق ياكى ئادرېس ئەمەس سەھىپىلەر تەكشۈرۈشتىن ئۆتمەيدۇ. بىرىنچى ۋە ئاخىرقى قۇرنى ئورنىغا قاراپ تاشلىماڭ: بەت ئورۇنلاشتۇرۇلۇشى ئۆزگەرگەندىن كېيىن ھەر ئىككىسى ھەقىقىي ئاخىر نۇقتا بولۇشى مۇمكىن.