প্ৰতিটো প্ৰক্সী শাৰীক এটা একক হিচাপে বিশ্লেষণ কৰক। পৃষ্ঠাৰ সকলো মিলা 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 ঘৰ থকা শাৰী এৰি দিয়া হয়, কিন্তু খালী বা ঠিকনা নোহোৱা ফিল্ডে যাচাইত বিফল হয়। অৱস্থান অনুসৰি প্ৰথম আৰু শেষ শাৰী বাদ নিদিব: পৃষ্ঠাৰ বিন্যাস সলনি হ'লে দুয়োটাই প্ৰকৃত এণ্ডপইণ্ট হ'ব পাৰে।

সম্পৰ্কিত প্ৰবন্ধ