Загрузка...

Parser ETH Wallets by username

Thread in C# created by kin4emir Dec 1, 2022. 504 views

  1. kin4emir
    kin4emir Topic starter Dec 1, 2022 142 Jan 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 Dec 1, 2022 пишу кодик:pressF: 261 Oct 11, 2019
    спасибо, обучусь по твоему коду
     
    1. View previous comments (4)
    2. kin4emir Topic starter
      vtlstolyarov, Ну видишь, 3 дня опыта у меня всего :)
    3. vtlstolyarov
      kin4emir, ну для 3 дней неплохо :)
    4. kin4emir Topic starter
  3. Help
    Help Dec 1, 2022 469 May 12, 2017
    1. kin4emir Topic starter
      Help, Не особо понял к чему эт тут, я чисто сделал как понравилось мне, хотя и можно было без селениума обойтись, чисто запросами(но мне было очень впадлу это делать по другому)
Loading...
Top