Extraire automatiquement tous les liens d’une page web
Récupérer toutes les URL présentes dans une page HTML grâce à Indy (TIdHTTP) et aux expressions régulières (TRegEx).
uses
IdHTTP, RegularExpressions;
procedure TForm1.Button1Click(Sender: TObject);
var
HTML, URL: string;
Matches: TMatchCollection;
I: Integer;
begin
with TIdHTTP.Create(nil) do
try
HTML := Get('https://exemple.com');
finally
Free;
end;
Matches := TRegEx.Matches(HTML, '<a\s+[^>]*href=["'']([^"''>]+)["'']', [roIgnoreCase]);
for I := 0 to Matches.Count - 1 do
begin
URL := Matches[I].Groups[1].Value;
Memo1.Lines.Add(URL);
end;
end; Un petit clic (J'aime) qui fait plaisir !