dodo-r
Goto Top

Export Userdaten aus Onlineportal (Quellcode) mittels Script für Serienbrieferstellung

Hallo!
In einem Verein verwenden wir ein Mitarbeiterportal, welches vom Admin nicht mehr gewartet wird, sondern nur mehr durch die Zuständigen Betreuer mit aktuellen Userdaten versorgt wird.
Leider ist keine Exportmöglichkeit der Userdaten im Portal vorhanden. Dabei sollen regelmäßig die Userdaten ausgelesen werden um für die Serienbrieferstellung verwendet werden zu können.
Ist es möglich nach der Anmeldung im Menüpunkt "Mitarbeiterliste" (mit folgendem Quellcode-Inhalt) die Userdaten (also Vorname, Nachname, Strasse, Hausnummer, PLZ, Ort) mit einem Script zu exportieren, ohne diese einzeln mühsam herauszukopieren bzw. abzugleichen?
(Im folgenden Beispiel sind nur zwei User vorhanden.)

Mitarbeiterliste Quellcode

<!DOCTYPE html>
<html>
<head>
    <title>Mitarbeiterportal</title>
    <link href="" rel="stylesheet" type="text/css" />  

    <script src="" type="text/javascript"></script>  


</head>
<body>
    <div id="page" class="page">  
        <div id="header">  
            <div id="logindisplay">  
                
    Hallo!
    [ <a href="/">Ausloggen</a> ]  

            </div>
            <div id="title">  
                <h1>Onlineportal</h1>
            </div>
            <div id="menucontainer">  

<ul id="nav">  
    <li><a href="/">Startseite</a></li>  
    <li><a href="/">Übersicht</a>  
        <ul>
            
            <li><a href="/">Link1</a> </li>  
        </ul>
    </li>

    <li><a href="/">Link2</a></li>  
    
    <li><a href="#">Persönliches</a>  
        <ul>
            <li><a href="/">Meine Daten</a></li>  
            
            <li><a href="/">News</a></li>  
            <li><a href="/">Termine</a></li>  
            <li><a href="/">Mitarbeiterliste</a></li>  
            
        </ul>
    </li>
    <li><a href="/">Link3</a></li>  
</ul>

            </div>
        </div>
        <div id="main">  

            
<h2>Liste aktiver Mitarbeiter</h2>
<center>
    <table id="usertable" class="tablenowrap">  
        <tr>
            <th>
                Name
            </th>
            <th>
                Adresse
            </th>
            <th>
                Telefon1
            </th>
            <th>
                Telefon2
            </th>
            <th>
                Email
            </th>
        </tr>
            <tr>
                    <td>
                        Mustermann
                        Anna
                    </td>
                <td>
                    Mustergasse 10, 1000
                    Musterort
                </td>
                <td>
                    01234567890
                </td>
                <td>
                    
                </td>
                <td>
                    <a href="mailto:mustermann.anna@example.org">mustermann.anna@example.org</a>  
                </td>
            </tr>
            <tr>
                    <td>
                        Mustermann
                        Ernst
                    </td>
                <td>
                    Musterweg 15, 1010
                    Musterstadt
                </td>
                <td>
                    09876543210
                </td>
                <td>
                    
                </td>
                <td>
                    <a href="mailto:mustermann.ernst@example.org">mustermann.ernst@example.org</a>  
                </td>
            </tr>
    </table>
</center>

        </div>
        <div id="footer">  
            Version 1.0.0 
            (c) by xy
    </div>
</body>
</html>

Danke im Voraus
dodo-r

Content-ID: 345454

Url: https://administrator.de/contentid/345454

Ausgedruckt am: 19.12.2024 um 14:12 Uhr

vossi31
vossi31 04.08.2017 um 19:20:26 Uhr
Goto Top
Moin,

wäre es nicht einfacher direkt auf die Datenbank zuzugreifen?
Wenn es MySQL ist wird in der Webspace-Verwaltung ja vermutlich phpmyadmin oder entsprechendes bereitstehen. Dann müssen natürlich ggf. noch Filter gesetzt werden um die "richtigen" Daten zu erhalten.

Henning
dodo-r
dodo-r 04.08.2017 aktualisiert um 19:31:26 Uhr
Goto Top
Natürlich wäre dies die einfachere und elegantere Lösung aber wie bereits geschrieben wir das Portal vom Admin nicht mehr gewartet da dieser kein Interesse mehr hat, wir haben weder Zugriff auf den Server noch auf die Datenbank des Portals.
Deswegen muss eine andere Lösung her...
In naher Zeit wird das Portal sowieso durch etwas anderes ersetzt. Deswegen benötigen wir eine "Übergangslösung".
Kraemer
Kraemer 04.08.2017 um 21:55:15 Uhr
Goto Top
Moin,

natürlich ist das möglich. Das ließe sich einmalig auch locker mit Excel, einem potenten Editor oder sonstwas lösen.

Gruß
dodo-r
dodo-r 05.08.2017 um 19:34:56 Uhr
Goto Top
Danke für die Antwort, inwiefern könnte ich das mit Excel oder sonstigen Script lösen?
Kraemer
Kraemer 07.08.2017 um 09:54:38 Uhr
Goto Top
Moin,

naja z.B. mit einer Regex

<tr>\n\s*<td>\n\s*(\w*)\n\s*(\w*)\n\s*<\/td>\n\s*<td>\n\s*([a-zA-Z0-9 ]*), (\d*)\n\s*(\w*)\n\s*<\/td>\n\s*<td>\n\s*([0-9\/-]*)\n\s*<\/td>\n\s*<td>\n\s*(\w*)\n\s*<\/td>\n\s*<td>\n\s*<a href="mailto:.*">(.*)<\/a>\n\s*<\/td>\n\s*<\/tr>/gm  
https://regex101.com/r/9asl2m/1

Gruß
dodo-r
dodo-r 07.08.2017 um 10:04:32 Uhr
Goto Top
Das bedeutet diesen Code müsste ich dann in Excel einfügen?
Leider hatte ich mit Regex bisher keinen Kontakt...
Kraemer
Kraemer 07.08.2017 um 10:16:28 Uhr
Goto Top
Zitat von @dodo-r:

Das bedeutet diesen Code müsste ich dann in Excel einfügen?
nope.
Beispiel:
Nimm Notepad++
Deinen Code öffnen
Suchen - Ersetzen
Suchen nach:
<tr>\r\n\s*<td>\r\n\s*(\w*)\r\n\s*(\w*)\r\n\s*<\/td>\r\n\s*<td>\r\n\s*([a-zA-Z0-9 ]*), (\d*)\r\n\s*(\w*)\r\n\s*<\/td>\r\n\s*<td>\r\n\s*([0-9\/-]*)\r\n\s*<\/td>\r\n\s*<td>\r\n\s*(\w*)\r\n\s*<\/td>\r\n\s*<td>\r\n\s*<a href="mailto:.*">(.*)<\/a>\r\n\s*<\/td>\r\n\s*<\/tr>  
Ersetzen durch:
$1;$2;$3;$4;$5;$6;$7;$8
Alle ersetzen
Nun noch den unnötigen Kram entfernen und fertig

Gruß