Greina hvørja proxy-røð sum eina eind. Um tú javnar allar samsvarandi td út yvir síðuna og bólkar úrslitini eftir einum fostum tali, kann ein adressa úr eini røð verða pøruð við ein port úr næstu røð, tá ein kykla vantar ella onnur talva vísir seg.

Fyri HTML, sum stokklingurin longu hevur fingið, kann ein talva, har fyrstu tveir teigarnir eru IP-adressa og port, greinast soleiðis:

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 og table_selector eru inntøkur hjá stokklinginum. Vel einvalið og teiga-mapping út frá veruliga mark-upinum í keldu. Ókeypis proxy-listi er ein kelda til endapunkt-færslur, men røðirnar eiga at verða kannaðar, áðrenn tú velur hesa mapping. Hvørki ein søgulig talvu-ID ella tað, at ein síða inniheldur júst 300 færslur, er eitt varandi skema.

Settið tekur dupultar adressu-port-pør burt, meðan tað varðveitir sambandið í hvørjum pári. Ein óvæntaður innflutningur við null úrsliti eigur kortini at verða kannaður: talvan kann vera broytt, ella tað heintaða skjalið kann vera ein avbjóðingarsíða í staðin fyri listan.

Varðveit tað kunngjørda protokollið og teigir fyri kanntíð við endapunktin, tá tey hava týdning. At taka út eina trúliga IP og ein port staðfestir formatið, ikki at endapunkturin nú veitir eina virkandi HTTP- ella SOCKS-tænastu.

Høvd- ella filtrøð eru ikki endapunktir. Ein røð við bert th-kyklum verður slept, meðan tómir ella ikki-adressu-teigir falla í váttanini. Legg ikki fyrstu og síðstu røð burt eftir støðu: hvør av teimum kann vera ein veruligur endapunktur, eftir at síðuuppsetingin broytist.

Skyldar greinar