Веб программирование

[Урок] Создание прокси граббера

 
 

Сразу говорю, что урок рассчитан исключительно для новичков!

Итак приступим. Для начала нам потребуется файл regexpr.pas, который используется для проведения парсинга на регулярных выражениях.

Скачайте его себе: ТЫК.

Писать программу мы будем в среде Borland Delphi 7.Начнём! Создаём новый проект (File -> New -> Application), кидаем на форму: Edit (1шт.), Memo (1шт.)Button(1шт.), IdHTTP(1шт.).Переименовываем Название кнопки и расставляем как нам нравится.

Дальше нам нужно добавить наш скачанный компонент в проект программы(SHIFT+F11) и выбираем файл который мы скачали(regexpr.pas).

Дальше нам нужно его добавить в Uses.Теперь нажимаем два раза на нашу кнопку "Грабить" и компилятор автоматически генерирует под неё код. Его нам нужно модифицировать, а именно добавить переменные. Для этого перед строчкой begin пишем Var и дальше объявляем переменные

Дальше после слова 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); //Берём сайт из edit1if

reg.Exec(link) then repeat //Забираем результат по get запросу (цикл)

prx.Add(reg.Match[0]); //Добавляем результат

until not reg.ExecNext; //Забираем результат по get запросу (цикл)

Form1.Memo1.Lines.Text:= prx.Text; //Выводим прокси лист в memo1prx.SaveToFile(ExtractFilePath(Application.ExeName)+'Rez.txt'); //Сохраняем прокси лист в файл

prx.Free; //Освобождаем переменную.

Готово! Теперь можно тестировать! Надеюсь Вам понравилось, ставьте спасибки - это стимул делать больше подобных уроков Скачать исходник: ТЫК


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.