Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Extraktion von REGEX von WebPage mit TEdgeBrowser bzw. WebView (https://www.delphipraxis.net/208986-extraktion-von-regex-von-webpage-mit-tedgebrowser-bzw-webview.html)

wschrabi 9. Okt 2021 12:09

Extraktion von REGEX von WebPage mit TEdgeBrowser bzw. WebView
 
Hallo Freunde, ich habe das hier WebView und die dazu nötige JSON Library JSON LIbrary (Für Delphi RAD Berlin 10.2) und ich kann die HMTL Seite mit diesem Codeteil sichern. (Refernce: FAQ )
Delphi-Quellcode:

        procedure TFormMain.Button1Click(Sender: TObject);
        begin
        browsermain.formmain.webview.ExecuteScript('document.documentElement.outerHTML',
          procedure (const JsonResult: string)
          var Json: TJson;
          begin
            with TJsonParser.Create do
            try
              Json := ParseUtf8(JsonResult);
              try
                htmlmemo.Text:=(Json as TJsonString).Value;
                htmlmemo.Lines.SaveToFile(System.IOUtils.TPath.GetTempPath+'PubChem_html.txt');
               
                //ShowMessage((Json as TJsonString).Value);
              finally
                Json.Free;
              end;
            finally
              Free;
            end;
          end);
       
        end;
Es schaut so aus, dass meine Zielwebsite wie dieses hier https://pubchem.ncbi.nlm.nih.gov/#query=MES [ https://pubchem.ncbi.nlm.nih.gov/#query=MES] macht vorher die Ausführung des JS bei der Anzeige der Seite im WebView (= TEdgeBrowser) aber mein gespeichertes HTML-File ist VOR Ausführung.

Meine Frage wäre , wie kann ich diesen regulären Ausdruck [0-9]+\-[0-9][0-9]\-[0-9] für die `CAS-REGISTRY-Number` vom `COMPOUND BEST MATCH` Titel Zeile ( in Blau hier ) mit meiner Anfrage ( Hier zB. MES als `query-compound-name` ) ?
Das Ergebnis hier in diesem Beispiel sollte sein: 4432-31-9

Ich glaube es sollte die WebPage zuerst mit dem JS ausgeführt werden und dann weiter untersucht werden.

Weiß wer hier einen Rat?
Ich bin dankbar für jeden brauchbaren Vorschlag, Idee und Lösung.

Danke
W


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf