Source By 1337-SOFT.RU
procedure TForm2.sButton1Click(Sender: TObject);
var
reg:TRegExpr;
link:string;
prx:tstringlist;
i:integer;
begin
if sEdit1.Text='' then
MessageDlg('Укажите сайт для грабба серверов ([Ссылки могут видеть только зарегистрированные пользователи. ],[mbOK],0)
else
sMemo1.Clear; //Очищаем окно при нажатии на Грабить
slabel1.Caption:='Proxy Count: 0'; //Возвращаем счетчику кол-ва ip результат: 0
prx:=tstringlist.Create; //Создаем Tstringlist для сохранение ip и вывода их в софте!
reg:=Tregexpr.Create; //Создаем регулярное выражение
reg.Expression:='\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3 }:\d{1,5}'; //Сама регулярка для парсинга ip
link:=Form2.IdHTTP1.Get(form2.sEdit1.Text); //Берем сайт из sEdit1
if reg.Exec(link)then repeat //Забираем результат по Get запросу(link) выше!
prx.Add(reg.Match[0]); //Добавляем результат
until
not
reg.ExecNext; // готово!
form2.smemo1.Lines.Text:=prx.Text; //Выводим результат в sMemo1
form2.sLabel1.Caption:='Proxy Count: '+inttostr(prx.Count); //Подсчитываем кол-во сграбленных проксей
prx.SaveToFile(ExtractFilePath(Application.ExeName )+'Rez_Grab_Proxy.txt'); //Сохраняем результат
prx.Free; //освобождаем лист
end;