import requests
"""
input запрашивает ввод от пользователя, ниже мы ей воспользуемся чтобы получить
данные о том, какие прокси нам нужны.
Доступные варианты: http, https, socks4, socks5
"""
typeProxy = input('Введи тип прокси (http(s), socks(4,5)): ')
"""
Прокси будем брать с открытого источника (https://github.com/ShiftyTR/Proxy-List)
передаем в запрос тип прокси и получаем ответ в виде сырого текста.
casefold() делает все буквы в строке строчными, AAA -> aaa.
"""
reg_S = requests.get(
f"https://raw.githubusercontent.com/ShiftyTR/Proxy-List/master/{typeProxy.casefold()}.txt").text
"""
Вычисляем количество полученных прокси, путем разбивки сырого ответа на лист, приведу пример ниже
ОТВЕТ ОТ СЕРВЕРА
37.18.73.94:5566\n121.236.12.240:44844\n221.225.183.67:44844\n192.252.208.70:14282
С помощью split() мы обрезаем каждую \n и получаем лист ниже
РЕЗУЛЬТАТ
[37.18.73.94:5566, 121.236.12.240:44844, 221.225.183.67:44844, 192.252.208.70:14282]
Ну и далее, с помощью len() узнаем длину полученного листа.
Убавляется единица, потому что пустая строка не является прокси.
"""
countProxy = len(reg_S.split("\n"))-1
print(f'По вашему запросу было найдено {countProxy} прокси.')
"""
С помощью конструкции with мы можем элегантно провести процедуру записи в файл.
Передается в параметр file тип прокси и их количество (http_100)
В параметр mode передается буква, у нас это буква 'w' (write)
"""
with open(file=f"{typeProxy}_{countProxy}.txt", mode='w') as file:
file.write(reg_S)
input()