(Урок) Создание прокси граббера

(Урок) Создание прокси граббера

Тема в разделе "Темы со старого форума", создана пользователем Бэкап, 23.01.2015.

Загрузка...
Ответов: 0 Просмотров: 513 Ответить в теме
Воспользуйтесь функцией автоматического продвижения темы для увеличения числа просмотров темы, продаж платного контента и узнаваемости Вашего бренда. Услуга продвижения действует на протяжении 3-х дней и стоит всего 50 STF Wallet.

Продвинуть тему
  1. Бэкап
    Итак, наконец то я решил сделать этот урок :)
    Сразу говорю, что урок рассчитан исключительно для новичков!


    Итак приступим. Для начала нам потребуется файл regexpr.pas, который используется для проведения парсинга на регулярных выражениях. Скачайте его себе: ТЫК. Писать программу мы будем в среде Borland Delphi 7.

    Начнём! Создаём новый проект (File -> New -> Application), кидаем на форму: Edit (1шт.), Memo (1шт.)Button(1шт.), IdHTTP(1шт.).Переименовываем Название кнопки и расставляем как нам нравится. У меня получилось вот так:
    [​IMG]Дальше нам нужно добавить наш скачанный компонент в проект программы (SHIFT+F11) и выбираем файл который мы скачали(regexpr.pas). Дальше нам нужно его добавить в Uses.
    [​IMG]Теперь нажимаем два раза на нашу кнопку "Грабить" и компилятор автоматически генерирует под неё код. Его нам нужно модифицировать, а именно добавить переменные. Для этого перед строчкой begin пишем Var и дальше объявляем переменные:
    [​IMG]Дальше после слова begin пишем сам код процедуры граббера прокси. (после каждой строчки я писал комментарий, дабы новичкам было понятно что за что отвечает).
    Код:
    if Edit1.Text='' then //Если поле с ссылкой постое тогда...
    ShowMessage('Укажите сайт, с которго будем брать прокси!') //вывод сообщения
    else //или-же
    Memo1.Clear; //Очишаем memo1
    prx:= TStringList.Create; //Создаём TStringList для хранения и вывода проксей
    reg:= Tregexpr.Create; //Обявляем регулярное выражение
    reg.Expression:= '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5}'; //Регулярное выражение
    link:= IdHTTP1.Get(Edit1.Text); //Берём сайт из edit1
    if reg.Exec(link) then repeat //Забираем результат по get запросу (цикл)
    prx.Add(reg.Match[0]); //Добавляем результат
    until not reg.ExecNext; //Забираем результат по get запросу (цикл)
    Form1.Memo1.Lines.Text:= prx.Text; //Выводим прокси лист в memo1
    prx.SaveToFile(ExtractFilePath(Application.ExeName)+'Rez.txt'); //Сохраняем прокси лист в файл
    prx.Free; //Освобождаем переменную.
    После этого у нас должно получится примерно так:
    [​IMG]Готово! Теперь можно тестировать!
    [​IMG]
    Вот и всё! Всё отлично работает, я доволен!

    Надеюсь Вам понравилось, ставьте спасибки - это стимул делать больше подобных уроков :)

    Скачать исходник:
     
    23.01.2015 Сообщений: Симпатий:
В этой теме всего одна страница
Вам, как гостю, ограничены возможности взаимодействия с темами. Пройдите бесплатную регистрацию и откройте для себя море возможностей.