Легчайший скрипт парсера для новичков

Легчайший скрипт парсера для новичков

Тема в разделе Python создана пользователем MeXo
  • Теги
    python новичок парсер прокси
  • MeXo Автор темы
    Скрипт парсера паблик прокси, в формате Socsk5/Https

    Если разобраться, то можно найти еще сервисы и добавить в скрипт. Этот код поймет даже дурашка.

    Если зайдет, готов написать более мощную штуку.

    Code:
    import requests
    
    ping=input('Введи задержку в секундах: ')       # Вводим данные с клавиатуры в консоль питон
    country=input('Введи страну в формате (RU UA US): ') # далее вводим текст в переменную, что бы передать данные
    
    # создаем соединение с ресурсом где будем парсить наши прокси по заданным параметрам
    reg_S = requests.post(f"https://api.proxyscrape.com/v2/?request=displayproxies&protocol=socks5&timeout={ping}00&country={country}&ssl=all&anonymity=all")
    reg_H = requests.post(f"https://api.proxyscrape.com/v2/?request=displayproxies&protocol=https&timeout={ping}00&country={country}&ssl=all&anonymity=all")
    
    # Снова вводим переменные, что бы удобнее вывести и записать результат
    a=reg_S.text
    b=reg_H.text
    
    print(f'SOCKS5: {str(a)}\nHTTPS: {str(b)}\n\nТак же они выгружены в файл.')
    # сохраняем результат в файл
    f = open('proxy.txt', 'a')
    f.write(f'SOCKS5\n{a}\n\nHTTPS\n{b}'+'\n')
    f.close()
    
    input()

    2
    Те самые дурашки которые не поняли код : БЛЯЯЯЯЯЯЯ :2011_hmm:


    MeXo
    да наверное, учту
    MeXo
    сайт пробелы убирает
    Unito
    10/10
    Я тебе предлагаю воспользоваться Линтером, прежде чем создавать тему с кодом. И не обязательно что-то качать, можно найти онлайн сервис.
    Пример моего кода, который тоже будет понятным новичку
    Питончик:
    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()


    MeXo
    так одна хуйня, спастил код и за секунду получил список
    lozeriX
    Мой код более понятен, хотя бы потому что я не объясняю получение данных от пользователя в двух комментариях, когда можно уместить в один
    MeXo
    Скрытое содержимое для пользователя(ей): lozeriX
    Сверху