Загрузка...

Парсер ETH Кошельков по username

Тема в разделе C# создана пользователем kin4emir 1 дек 2022. 473 просмотра

Загрузка...
  1. kin4emir
    kin4emir Автор темы 1 дек 2022 142 17 янв 2021
    Небольшой парсер для эфир кошельков при помощи zapper.fi

    Первый проект, шарп в целом учу ток 3 дня, решил попробовать себя.
    Сеньоры - прошу вас не кидаться палками, а лучше понять и простить меня за плохой код
    Лучше подскажите, что можно было сделать лучше.

    Как вариант брать строки - парсить username twitter аккаунтов, собсна как я и делал

    [IMG]




    Как пользоваться скомпилированным парсером?
    Сначала вводим путь до файла с юзернеймами
    Пример: C:\Users\кринжик\Desktop\file.txt

    Затем вводим путь к результатам
    Пример: C:\Users\кринжик\Desktop\result.txt




    Исходник проекта:


    C#
    using System;
    using System.IO;
    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;
    using System.Text;

    namespace SeleniumParser
    {
    internal class Program
    {
    static void Main(string[] args)
    {

    var driver = new ChromeDriver(); // Создание и запуск веб-драйвера хром.

    System.Threading.Thread.Sleep(5000); // Ожидание перед вводом пути к файлу.
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("\n\nEnter file path"); // Вывод строки с запросом ввести путь к файлу с юзернеймами.
    string _path = Console.ReadLine(); // Ввод пути файла.

    System.Threading.Thread.Sleep(5000);
    Console.WriteLine("Enter path for checked accounts"); // Вывод строки с запросом ввести путь к файлу с готовыми аккаунтами.
    string _pathChecked = Console.ReadLine(); // Ввод пути файла.
    Console.ResetColor();


    string[] lines = File.ReadAllLines(_path); // Открытие и считывание файла с юзернеймами.
    int _howMuchLines = File.ReadAllLines(_path).Length; // Получение кол-ва строк в файле с юзернеймами.

    Console.WriteLine("Loaded " + _howMuchLines + " lines"); // Вывод кол-ва строк, загруженных в парсер.
    int set = 0;

    foreach (string line in lines) // Цикл тела парсера.
    {
    try
    {
    set++; // Подсчёт кол-ва обработанных строк.
    Console.WriteLine("Processed " + set + " of " + _howMuchLines + " lines.\n"); // Вывод кол-ва обработанных строк.
    string _username = line; // Преобразование строки в отдельную переменную _username.
    Console.WriteLine("Trying to read " + line); // Вывод в консоль текста "Пытаюсь прочитать + содержание строки"


    driver.Navigate().GoToUrl("https://zapper.fi/account/" + _username + ".eth"); // Открытие страницы с кошельком.
    System.Threading.Thread.Sleep(2000); // Ожидание загрузки страницы, можете поставить значение больше, если у вас прогружается быстрее.

    IWebElement _ethAdress = driver.FindElement(By.XPath("/html/body/div[1]/div[2]/div[3]/main/div/div/div[1]/div[2]/div/div[2]/div/div[2]/div")); // Поиск элемента, который содержит баланс по XPath
    Console.ForegroundColor = ConsoleColor.Green;
    Console.WriteLine(_ethAdress.Text); // Получение баланса(Если элемент найден)
    Console.ResetColor();


    StreamWriter sw = new StreamWriter(_pathChecked, true, Encoding.ASCII); // Открытие файла с результатами
    string _accWithBalance = _username + " " + _ethAdress.Text; // Установка переменной, в которой будет записан результат и баланс.
    sw.WriteLine(_accWithBalance); // Запись строки в файл.
    sw.Close(); // Закрытие и сохранение файла.

    }
    catch (Exception) // "Ловим" ошибку
    {
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("Аккаунт не существует / Не удалось спарсить баланс\n"); // Маскируем ошибку из 5 строк в одну и сразу понятную.
    Console.ResetColor();

    }
    }
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine("Парсинг закончен."); // Сообщение о окончании парсинга.
    Console.ResetColor();

    }
    }
    }

     
  2. Uwuku
    Uwuku 1 дек 2022 пишу кодик:pressF: 259 11 окт 2019
    спасибо, обучусь по твоему коду
     
    1. Посмотреть предыдущие комментарии (4)
    2. kin4emir Автор темы
      vtlstolyarov, Ну видишь, 3 дня опыта у меня всего :)
    3. kin4emir Автор темы
  3. Help
    Help 1 дек 2022 469 12 май 2017
    1. kin4emir Автор темы
      Help, Не особо понял к чему эт тут, я чисто сделал как понравилось мне, хотя и можно было без селениума обойтись, чисто запросами(но мне было очень впадлу это делать по другому)
Top