SCAR Code:
program New;
var
Page, Info : string;
Proxies : TStringArray;
function ProxyArray(Delimiter : string; Str : string) : array of string;
var
DelimPos, i : integer;
Arr1 : array of string;
Potential : string;
begin
SetArrayLength(Arr1, 500);
i := 0;
repeat
if (pos(Delimiter, Str) = 0) then Break;
DelimPos := pos(Delimiter, Str);
Potential := Replace((copy(Str,0,DelimPos)),Delimiter,'');
if pos(FindRegex(Potential,'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'),Potential) <> 0 then
begin
Delete(Potential, (pos(':',Potential)+1),1);
Arr1[i] := Potential;
i := i + 1;
end;
Delete(Str,1,DelimPos);
until(pos(Delimiter, Str) = 0);
SetArrayLength(Arr1, i);
Result := Arr1;
end;
procedure PrintArray(r : TStringArray);
var
i : integer;
begin
i := 0;
repeat
Writeln('Array['+IntToStr(i)+'] = '+r[i]);
i := i + 1;
until(i = GetArrayLength(r));
end;
procedure TrimShit;
var
i : integer;
begin
i := pos('Country',Page);
Delete(Page,1,i);
Delete(Page,1,6);
end;
procedure TrimHTML;
var
StartEncaps, EndEncaps, Length : integer;
begin
repeat
StartEncaps := pos('<',page);
EndEncaps := pos('>',page);
Length := (EndEncaps - StartEncaps) + 1;
Delete(Page,StartEncaps,Length);
until(StartEncaps = 0);
Delete(Page,1,6);
end;
procedure TrimRemnants;
var
StartEncaps, EndEncaps, Length : integer;
begin
repeat
StartEncaps := pos('-',page);
EndEncaps := pos(',',page);
Length := (EndEncaps - StartEncaps) + 1;
Delete(Page,StartEncaps,Length);
until(StartEncaps = 0);
end;
procedure TrimTimes;
begin
Info := ReplaceRegex(Info,'[0-9][0-9]:[0-9][0-9]','');
end;
procedure Clean;
begin
TrimShit;
TrimHTML;
TrimRemnants;
Info := TrimLetters(Page);
TrimTimes;
end;
procedure LoadPage;
begin
Page := GetPage('http://www.samair.ru/proxy');
Clean;
end;
begin
LoadPage;
Proxies := ProxyArray(' ',Info);
PrintArray(Proxies);
end.
SCAR Code:
program New;
var
Page, Info : string;
Proxies : TStringArray;
function ProxyArray(Delimiter : string; Str : string) : array of string;
var
DelimPos, i : integer;
Arr1 : array of string;
Potential : string;
begin
SetArrayLength(Arr1, 500);
i := 0;
repeat
if (pos(Delimiter, Str) = 0) then Break;
DelimPos := pos(Delimiter, Str);
Potential := Replace((copy(Str,0,DelimPos)),Delimiter,'');
if pos(FindRegex(Potential,'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'),Potential) <> 0 then
begin
Delete(Potential, (pos(':',Potential)+1),1);
Potential := replace(Potential,'-','');
Arr1[i] := Potential;
i := i + 1;
end;
Delete(Str,1,DelimPos);
until(pos(Delimiter, Str) = 0);
SetArrayLength(Arr1, i);
Result := Arr1;
end;
procedure PrintArray(r : TStringArray);
var
i : integer;
begin
i := 0;
repeat
Writeln('Array['+IntToStr(i)+'] = '+r[i]);
i := i + 1;
until(i = GetArrayLength(r));
end;
procedure TrimShit;
var
i : integer;
begin
i := pos('Country',Page);
Delete(Page,1,i);
Delete(Page,1,6);
end;
procedure TrimHTML;
var
StartEncaps, EndEncaps, Length : integer;
begin
repeat
StartEncaps := pos('<',page);
EndEncaps := pos('>',page);
Length := (EndEncaps - StartEncaps) + 1;
Delete(Page,StartEncaps,Length);
until(StartEncaps = 0);
Delete(Page,1,6);
end;
procedure TrimRemnants;
var
StartEncaps, EndEncaps, Length : integer;
begin
repeat
StartEncaps := pos('-',Info);
EndEncaps := pos(',',Info);
Length := (EndEncaps - StartEncaps) + 1;
Delete(Info, StartEncaps, Length);
until(StartEncaps = 0);
end;
procedure TrimTimes;
begin
Info := ReplaceRegex(Info,'[0-9][0-9]:[0-9][0-9]','');
end;
procedure Clean;
begin
TrimShit;
TrimHTML;
TrimRemnants;
Info := TrimLetters(Page);
TrimTimes;
end;
procedure LoadPage;
begin
Page := GetPage('http://www.samair.ru/proxy');
Clean;
end;
begin
LoadPage;
Proxies := ProxyArray(' ', Info);
PrintArray(Proxies);
end.