Помогите создать DOM HTML под Delphi

Помогите примером создания DOM HTML в Delphi стоковыми методами, использую RadStudio 10.4/11.3 версий. Делал пробы парсинга на JavaScript и хотелось бы чтобы получилось подобное и на Delphi:

const response = await fetch( url, { method: 'GET', headers: { 'Accept': '*/*' } });
if(response.ok && response.status===200) {
  text = response.text();
} 
...
const html = JSON.parse(text).contents;
const doc = new DOMParser().parseFromString(html, 'text/html');
const wrapper = doc.getElementById('wrapper');
if(wrapper) {
  profile.avatar = getAvatar(doc);
  document.getElementById('Avatar').src = profile.avatar;
  const state = JSON.parse(wrapper.getElementsByTagName('script').item(0).innerHTML);
  ...

}

где цель: получить объект DOC, по которому я дальше простыми методами смогу делать обход и доставать/изменять его ноды.

Ознакомившись с примерами по запросам я так и не понял как это сделать, самый близкий по достижению цели был пример с DOM XML, но у меня другой тип документа. Я настроил SSL HTTP запрос к странице, подобрал версию протокола, получаю строковое представление HTML страницы:

function TRequest.GetWebPage(const url: string): string;
var
  agent: string;
  HTTP: TIdHTTP;
begin
  agent := Requests.GetUserAgent();
  try
    HTTP := TIdHTTP.Create;
    Memo.Lines.Add('UserAgent: '+agent);
    Memo.Lines.Add('URL: '+url);
    Memo.Lines.Add('------------------------------');
    Memo.Lines.Add('');
    HTTP.IOHandler := idSSL;
    HTTP.HandleRedirects := True;
    HTTP.Request.Accept := 'text/html';
    HTTP.Request.CacheControl := 'no-cache';
    HTTP.Request.ContentType := 'text/html';
    HTTP.Request.UserAgent := agent;
    Result := HTTP.Get(url).Trim;
  finally
    HTTP.Free;
  end;
end;

но создать из нее документ не получается стоковым методом.


Ответы (0 шт):