Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from operator import itemgetter
- from itertools import groupby, islice
- from requests_html import HTMLSession
- HEADER = ("IP Adresse", "Port", "Land, Stadt", "Geschwindigkeit", "Typ", "Anonymität", "Aktualisierung")
- URL = "https://hidemy.name/de/proxy-list"
- def get_data():
- result = []
- session = HTMLSession()
- req = session.get(URL)
- for row in islice(req.html.find("tr"), 1, None):
- data = {field: column.text for field, column in zip(HEADER, row.find("td"))}
- try:
- data["Geschwindigkeit"] = int(data["Geschwindigkeit"].split()[0])
- except:
- data["Geschwindigkeit"] = float("nan")
- result.append(data)
- return result
- def sort_and_group(proxies):
- country_speed = itemgetter("Land, Stadt", "Geschwindigkeit")
- country = itemgetter("Land, Stadt")
- proxies = sorted(proxies, key=country_speed)
- for group, elements in groupby(proxies, key=country):
- yield group, list(elements)
- if __name__ == "__main__":
- proxies = get_data()
- for group, proxies in sort_and_group(proxies):
- for proxy in proxies:
- p_type = proxy["Typ"]
- if "SOCKS5" in p_type or "SOCKS4" in p_type:
- print(", ".join(map(str, proxy.values())))
Add Comment
Please, Sign In to add comment