HTML - Dateien nach bestimmten Strings auslesen und in Textdatei speichern?
ich kenne mich mit der batch-Programmierung leider nicht aus.
Hallo,
folgendes Problem:
Ich habe in einem Ordner ca. 2000 HTML-Dateien. In jeder Datei steht folgendes (im Quelltext):
name="benutzer" value="blablabla"
name="passwort" value="xxxxxxxxxx"
name="mail" value="dasisteinemail@hier.de"
Ich müsste die Informationen jetzt wie folgt in einer Textdatei haben:
blablabla:xxxxxxxxxx:dasisteinemail@hier.de
Ist das möglich, wenn ja wie?
Hallo,
folgendes Problem:
Ich habe in einem Ordner ca. 2000 HTML-Dateien. In jeder Datei steht folgendes (im Quelltext):
name="benutzer" value="blablabla"
name="passwort" value="xxxxxxxxxx"
name="mail" value="dasisteinemail@hier.de"
Ich müsste die Informationen jetzt wie folgt in einer Textdatei haben:
blablabla:xxxxxxxxxx:dasisteinemail@hier.de
Ist das möglich, wenn ja wie?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180748
Url: https://administrator.de/contentid/180748
Ausgedruckt am: 25.11.2024 um 01:11 Uhr
14 Kommentare
Neuester Kommentar
moin n0000b und Willkommen in Forum,
na das könnte in etwa so gehen:
ungetestet, daher ohne @echo off
[Edit]
EingabeUmleitung von nul auf die richtige For gelegt.
[/Edit]
[Edit2]
Man war das eine Geburt ...
... das klappt nur wenn eine Zeile nach dem Echo( in der Sub ist!
[/Edit]
Gruß Phil
na das könnte in etwa so gehen:
@echo off &setlocal
rem wenn Fehler auftauchen
:: echo on
set "Dateien=D:\Ordner\*.html"
rem erst Testanzeige im CMD , Zum schreiben in die Datei entferne die ::
:: set Ausgabe=3^>"D:\Ausgabe.txt"
%Ausgabe% (
for %%i in ("%Dateien%") do for %%a in (benutzer passwort mail) do for /f "delims=" %%j in ('findstr /r /c:"name=.%%a. value=" "%%i"') do (
set "Line=%%j"
call :Lesen %%a
)
)
echo(&echo Fertig!&pause
goto :eof
:Lesen
for /f tokens^=2^,2delims^=^" %%b in ("%line:*" value=%^") do >&3 <nul (
if %%a neq mail ( set/p"=%%b:") else set/p"=%%b"
)
if %1 equ mail >&3 echo(
rem Hier geht es nur mit dieser ExtraZeile oder Einer Leerzeile
[Edit]
EingabeUmleitung von nul auf die richtige For gelegt.
[/Edit]
[Edit2]
Man war das eine Geburt ...
... das klappt nur wenn eine Zeile nach dem Echo( in der Sub ist!
[/Edit]
Gruß Phil
@ph
Sehr schön - vielleicht noch etwas übersichtlicher (und mit ":" im Ergebnis ):
Grüße
bastla
[Edit] "
Sehr schön - vielleicht noch etwas übersichtlicher (und mit ":" im Ergebnis ):
...
:Lesen
for %%a in (benutzer passwort mail) do for /f "tokens=2,3delims==" %%j in ('findstr /r /c:"^name=.%%a. value=" "%%i"') do <nul >&3(
set/p=%%k
if "%%j" neq ""mail" value" set/p=:
)
>&3 echo(
goto :eof
bastla
[Edit] "
if ...
" angepasst [/Edit]
Hallo Zusammen.
Ich habe es mir absichtlich verkniffen ...
@n0000b
Eine HTML Datei
- kann eine Zeichenkodierung haben, die so ohne Weiteres nicht geeignet ist, per Batch verarbeitet zu werden
- kann aus Zeilen oder einer einzigen Zeile (also ohne Zeilenumbruch) bestehen, die für Batch viel zu lang sind, um verarbeitet zu werden
In einer HTML Datei
- kommen Werte, wie du sie oben genannt hast, sicher innerhalb irgendwelcher Tags vor
- können diese Tags wiederum innerhalb einer Zeile aneinander gereiht sein
Wenn du dein Beispiel mal dahingehend konkretisieren würdest, wie du es tatsächlich vorfindest ...
Grüße
rubberman
Ich habe es mir absichtlich verkniffen ...
@n0000b
Eine HTML Datei
- kann eine Zeichenkodierung haben, die so ohne Weiteres nicht geeignet ist, per Batch verarbeitet zu werden
- kann aus Zeilen oder einer einzigen Zeile (also ohne Zeilenumbruch) bestehen, die für Batch viel zu lang sind, um verarbeitet zu werden
In einer HTML Datei
- kommen Werte, wie du sie oben genannt hast, sicher innerhalb irgendwelcher Tags vor
- können diese Tags wiederum innerhalb einer Zeile aneinander gereiht sein
Wenn du dein Beispiel mal dahingehend konkretisieren würdest, wie du es tatsächlich vorfindest ...
Grüße
rubberman
Hallo n0000b.
Genau hier ist auch schon Schluss mit lustig, was Batch angeht.
Da du versäumt hast den Quelltext in Code-Tags einzufassen, sieht man nicht einmal wo die Zeilen anfangen bzw. enden (was aber auch an meinem Miniatur-Screen liegen mag).
Auch mit Scriptsprachen die Reguläre Ausdrücke unterstützen, lässt sich HTML Quelltext nicht sicher parsen. Man müsste deine Dateien schon genauer unter die Lupe nehmen, um
- die Regeln zu definieren, wie die Daten zu extrahieren sind
- eine geeignete Sprache dafür auszuwählen
Grüße
rubberman
Genau hier ist auch schon Schluss mit lustig, was Batch angeht.
Da du versäumt hast den Quelltext in Code-Tags einzufassen, sieht man nicht einmal wo die Zeilen anfangen bzw. enden (was aber auch an meinem Miniatur-Screen liegen mag).
Auch mit Scriptsprachen die Reguläre Ausdrücke unterstützen, lässt sich HTML Quelltext nicht sicher parsen. Man müsste deine Dateien schon genauer unter die Lupe nehmen, um
- die Regeln zu definieren, wie die Daten zu extrahieren sind
- eine geeignete Sprache dafür auszuwählen
Grüße
rubberman
moin,
findstr sucht Dir doch die passenden Zeilen heraus. sonst gibt es wohl Zeilen in denen der Suchstring auch noch enthalten ist.
Ich habs nochmal hier Oben leicht verändert.
Gruß Phil
findstr sucht Dir doch die passenden Zeilen heraus. sonst gibt es wohl Zeilen in denen der Suchstring auch noch enthalten ist.
Ich habs nochmal hier Oben leicht verändert.
Gruß Phil
moin mädelzz,
ich schau mir das jetzt ein paar minuten an, aber vieleicht muß der Gummiman deutlicher schreiben...
Hallo n0000b.
Genau hier ist auch schon Schluss mit lustig, was Batch angeht.
Auch mit Scriptsprachen die Reguläre Ausdrücke unterstützen, lässt sich HTML Quelltext nicht sicher parsen.
Grüße
Natürlich
ich schau mir das jetzt ein paar minuten an, aber vieleicht muß der Gummiman deutlicher schreiben...
Hallo n0000b.
Genau hier ist auch schon Schluss mit lustig, was Batch angeht.
Da du versäumt hast den Quelltext in Code-Tags einzufassen, sieht man nicht einmal wo die Zeilen anfangen bzw. enden (was
aber auch an meinem Miniatur-Screen liegen mag).Auch mit Scriptsprachen die Reguläre Ausdrücke unterstützen, lässt sich HTML Quelltext nicht sicher parsen.
Man müsste deine Dateien schon genauer unter die Lupe nehmen, um
- die Regeln zu definieren, wie die Daten zu extrahieren sind - eine geeignete Sprache dafür auszuwählenGrüße
rubberman> die Texte kommen öfter vor, daher wäre eine Eingrenzung auf den Abschnitt schon sinnvoll. Wie ginge die?
Ich bekomme lediglich
"Fertig!
Drücken Sie...."
zum Lesen. Das habe ich mir natürlich nicht in eine Textdatei ausgeben lassen.
Ich bekomme lediglich
"Fertig!
Drücken Sie...."
zum Lesen. Das habe ich mir natürlich nicht in eine Textdatei ausgeben lassen.
Natürlich
moin Timo,
Du bist aber laut...
@TE
am 1.9.2011 ging es mal um dieses Thema:
ich hab hier nur die Leerzeilenlose Variante davon (und ausgekürzt)
das war gleichzeitung das resutat davon:
[Edit]
Dieser batch trennt Dir auch den HTML code Zeilenweise in eine TXT ab.
somit kannst Du die obere CMD dann dafür benutzen diese TXT zu durchsuchen.
Ein bissel Hilfe ist drin.
Testdatei:
Egebnis nach der Behandlung: Testdatei.Code.txt
[/Edit]
Wenn Du daraus etwas machen willst mit dem Anfansdings dann ... - ich bin raus.
wird so bestimmt was für Meister-B sein M-Behälter.
Gruß Phil
Du bist aber laut...
@TE
am 1.9.2011 ging es mal um dieses Thema:
Batch um WEBSITE als TXT Speichern (kein HTML CODE)
das wurde aber schon gelöscht, da es zu einfach ist *wink ironie*ich hab hier nur die Leerzeilenlose Variante davon (und ausgekürzt)
>findstr /v /r /c:"^[ ]*$" "G:\Users\Pieh-Ejdsch-AD\Desktop\CMD\Batch um WEBSITE als TXT Speichern (kein HTML CODE) - Entwicklung - administrator.htm.TXT"
-->
Batch um WEBSITE als TXT Speichern (kein HTML CODE) - Entwicklung - administrator
[...]
Bereiche
Mitglieder
Regeln
FAQ
Über uns
erweitert
Neue Beiträge
Neue Links
Anleitungen
Erfahrungsberichte
Tipps
Inhalte hinzufügen
Neu registrieren
Nickname
Passwort |
vergessen?
Angemeldet bleiben
[...]
Batch um WEBSITE als TXT Speichern (kein HTML CODE)
Geschrieben von
svenac2010
(Level 1 - Frischling
)
Erstellt am 01.09.2011, um 07:02:34 Uhr,
Permanent-ID: 172405
Dieser Beitrag wurde bisher 146 mal aufgerufen und gilt als gelöst.
0 von 2 Mitgliedern fanden diese Frage anspruchsvoll.
-2
wenig anspruchsvoll
Drucken
E-Mail an Freunde
Beobachten
[..]
Hallo,
wie ist es möglich eine WEBSITE als TXT zu speichern. Hier mein ich nicht den HTML Code sondern die Website nur als TXT ( also ohne Grafiken ect)
hilfreich wäre es per bat datei
Kommentar schreiben
Mit Zitat
Anmeldung erforderlich!
Bitte melden Sie sich erst mit Ihrem Nicknamen und Passwort an.
Nickname
Passwort
merken?
google_ad_client = "pub-5081958556588148";
/* 300x250 Content-Detail */
google_ad_slot = "2670281969";
google_ad_width = 300;
google_ad_height = 250;
//-->
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
Diskussionsverlauf (4 Kommentare)
Thread-Ansicht
Skyemugen schreibt am 01.09.2011 um 08:08:46 Uhr
TimoBeil schreibt am 01.09.2011 um 08:58:19 Uhr
svenac2010 schreibt am 01.09.2011 um 09:47:46 Uhr
Kaputtnick schreibt am 01.09.2011 um 11:11:54 Uhr
Skyemugen
schreibt am 01.09.2011, 08:08:46 Uhr
Aloha,
also ich weiß, dass dies mit
VisualBasic (siehe google)
realisierbar ist aber batch ... ich frage mich, wie viele externe tools die batch aufrufen müsste und mir würde kein sinnvolles einfallen aber eventuell kennen meine Batchkollegen mal wieder almost-unknown-secret-illuminati-tools
greetz André
Antworten
Mit Zitat
Anmeldung erforderlich!
Bitte melden Sie sich erst mit Ihrem Nicknamen und Passwort an.
Nickname
Passwort
merken?
TimoBeil
schreibt am 01.09.2011, 08:58:19 Uhr
moinsen...
wie ist es möglich eine WEBSITE als TXT zu speichern.
mit reinen Boardmitteln garnicht
kommt ganz auf den Inhalt/die Struktur der Webseite an- ob es überhaupt möglich ist.
(Die Tatsache, dass der HTML Code für die Formatierung/Darstellung des Textes ist und das man den verliert, lass ich mal ganz aussen vor)
hilfreich wäre es per bat datei
... und deshalb steht die Frage unter Entwicklung? - sorry - aber noch einen 100 Antworten Fred innerhalb 12 Stunden vertrage ich nicht...........
PS: Merkst du, dass ich auf deine
jämmerliche
Fragestellung doppelt soviele Zeilen geantwortet habe und wir keinen Millimeter weiter gekommen sind?
Also
Entweder
- oder.....
Gruß
Antworten
Mit Zitat
Anmeldung erforderlich!
Bitte melden Sie sich erst mit Ihrem Nicknamen und Passwort an.
Nickname
Passwort
merken?
svenac2010
schreibt am 01.09.2011, 09:47:46 Uhr
Zitat von
TimoBeil
:
moinsen...
> wie ist es möglich eine WEBSITE als TXT zu speichern.
mit reinen Boardmitteln garnicht
kommt ganz auf den Inhalt/die Struktur der Webseite an- ob es überhaupt möglich ist.
(Die Tatsache, dass der HTML Code für die Formatierung/Darstellung des Textes ist und das man den verliert, lass ich mal ganz
aussen vor)
> hilfreich wäre es per bat datei
... und deshalb steht die Frage unter Entwicklung? - sorry - aber noch einen 100 Antworten Fred innerhalb 12 Stunden vertrage ich
nicht...........
PS: Merkst du, dass ich auf deine
jämmerliche
Fragestellung doppelt soviele Zeilen geantwortet habe und wir keinen
Millimeter weiter gekommen sind?
Also
Entweder
- oder.....
Gruß
@TimoBreil
Vielen Dank, das du dir die Mühe gemacht hast und doppelt soviel gepostet hast um
"meine
jämmerliche
Fragestellung " zu kommentieren.
ich werd mir anderweitig Hilfe suchen.
Antworten
Mit Zitat
Anmeldung erforderlich!
Bitte melden Sie sich erst mit Ihrem Nicknamen und Passwort an.
Nickname
Passwort
merken?
Kaputtnick
schreibt am 01.09.2011, 11:11:54 Uhr
Hi,
Zitat von
svenac2010
:
wie ist es möglich eine WEBSITE als TXT zu speichern.
Mit dem IE die Seite aufrufen, im Menu "Datei" "Speichern unter" wählen ( alternativ [ALT-D] [U] betätigen) und als Dateityp "Textdatei wählen", Verzeichnis und Dateinamen angeben und "Speichern" anklicken.
Mit Batch geht das nicht.
Antworten
Mit Zitat
Anmeldung erforderlich!
Bitte melden Sie sich erst mit Ihrem Nicknamen und Passwort an.
Nickname
Passwort
merken?
google_ad_client = "pub-5081958556588148";
/* 336x280 Content-Detail (29.04.09) */
google_ad_slot = "8684714352";
google_ad_width = 336;
google_ad_height = 280;
//-->
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
Aktuelle Fragen
Vor 7 Minuten
Packen von Ordnern mit Punkten im Ordnernamen per Batch
Vor 23 Minuten
Zeitserver unter Windows 2003 geändert
Vor 30 Minuten
Wie kann ich eine Datei aus dem Root Verzeichniss Includen?
Vor 59 Minuten
Habt Ihr Erfahrungen mit ERP-Vergleichsportalen?
Vor 1 Stunde
Nutzung von Aufgaben unter Visual Studio 2010 Express (2)
Vor 1 Stunde
VB 2010 Express einen Prozess beenden (2)
Vor 1 Stunde
Programmier Frage (8)
Vor 2 Stunden
DCPROMO Windows Server 2003 R2, Betriebsmodus der Domäne gemischt (6)
Vor 2 Stunden
Undelete auf einer Memorycard (3)
Vor 2 Stunden
Tool zur Netzwerküberwachung (Hardware und Verbindungen) (8)
Mögliche Antworten oder verwandte Beiträge
SQL Version mittels
Batch
in
txt
speichern
IIS7 übergibt nicht immer aus Perl generierten
HTML
Code
an den Browser weiter
HTML
-
Code
erstellenlassen via
Batch
datei...
druck von Mails aus OE 6 startet nicht,
HTML
-
Code
in der Druckvorschau
HTML
code
für Bildergallarien gesucht
Einfügen von
HTML
Code
durch Copy and Paste - seltsames Verhalten - Urheberrechtsverletzung
HTML
Code
bis auf br verbieten?
apache
html
code
anfügen
mit
BATch
eine
txt
drucken
valider
HTML
Code
zum Anzeigen von Bildern macht Probleme
Mehr ...
Anleitungen zum Thema
Workshop
Batch
for Runaways - Part II - Ein bisschen Handwerkszeug
Windows
Batch
Grundlagen
Kommentiertes
Batch
-Beispiel - Auswertung von Logdateien nach Zeiten
Batch
Datei mit Sekundenmeldung und Zwischenmeldungen für Shutdown u. Restart u. andere Anwendungen
Homepage mehrsprachig machen mit PHP und MySQL
Eventlog Mailer
PowerShell For Runaways - Part II
PHP DB-Klasse
Mit Checkboxen Selects steuern
Kopieren eines Ordners auf bestimmte Rechner - Namen der Rechner aus Datei auslesen
Mehr ...
Links zum Thema
JavaScript und
HTML
Code
s
Dynamic Drive D
HTML
(dynamic
html
)
code
library!
1&1 Webtool - Homepageanalyse
Free
Code
, Free Programming Source
Code
ASCII - ISO 8859-1 Table with
HTML
Entity Names
Code
Snippets - Snipplr Social Snippet Repository
Planet-Source-
Code
Webdesk - Ascii
Code
Table
ASCII
Code
Charts
visual basic, vb, vbscript,Free source
code
for the taking. Over a million lines of programs.
Mehr ...
// Modify to reflect site specifics
[...]
benutzer.de
|
Moderatoren
|
Datenschutz
|
Nutzungsbedingungen
|
Forenrichtlinien
|
RSS-Feeds
|
Werbung schalten
|
Kontakt
|
Impressum
Copyright © 2011
Administrator Technology
. Alle Rechte vorbehalten.
Beiträge, Kommentare, Anleitungen, Links und der Glossar sind unter der
Creative Commons Public Domain License
lizensiert.
Release: v2.1 (20110823-00), Load: 1.019 sec. |
Release Note
das war gleichzeitung das resutat davon:
@echo off&setlocal
pushD "%~dp0"
if "%~1" equ "" rd & goto :eof
if "%~1" neq "/?" if /i "%~1" neq "/help" goto :NoHelp
Echo Seperate Ausgabe von Code und Text ^(Text unformatiert^)
Echo(
Echo Syntax: "%~n0" [Laufwerk:][Pfad]Dateiname
Echo(
Echo HTML-Code Extractor nach "Dateiname.Code.txt"
Echo HTML-Text Extractor nach "Dateiname.txt"
Echo(
pause&goto :eof
:NoHelp
if not exist "%~1" echo Datei "%~1" nicht gefunden.& exit /b1
set "File=%~1"
Type nul>"%File%.Code.txt"
type nul>"%File%.TXT"
set /a Nr =0
:startNLine
set /a Nr +=1
for /f "usebackq delims=" %%i in ("%File%") do (set /a Nr+=1
set /a Index =0
set "Line=%%i"
call :start
)
set HText&pause&goto :eof
:start
set /a Index +=1
set "Line1="
set "Text="
setlocal enabledelayedexpansion
for /f "tokens=1,* delims=<" %%i in (" !Line!") do endlocal&(if not "%%i" == " " set "Line1=%%i"
set "Line=<%%j"
)
if not defined Line1 goto :NoLine1
setlocal enabledelayedexpansion
set "Text=!Line1:~1!"
(
for /f "eol= tokens=* delims=" %%i in ("!Text!") do endlocal&set "Text=%%i"
)||endlocal
:NoLine1
set "Line2="
setlocal enabledelayedexpansion
for /f "tokens=1,* delims=>" %%i in (" !Line!") do endlocal&(if not "%%i" == " " set "Line2=%%i>"
set "Line=%%j"
)
setlocal enabledelayedexpansion
set "Line2=!Line2:~1!"
(
for /f "eol= tokens=* delims=" %%i in ("!Line2!") do endlocal&if not "%%i" == "<>" (
set "HTag:%Nr%:%Index%=%%i"
echo HTMCode : %%i
)>>"%File%.Code.txt"
)||endlocal
:NoLine
setlocal enabledelayedexpansion
(
for /f "eol= tokens=* delims=" %%i in ("!Text!") do (endlocal
echo\%%i
set "HText:%Nr%:%Index%=%%i"
set "Text="
)>>"%File%.TXT"
)||endlocal
::hier müsste dann die Extrabehandlung herein
if defined Line (goto :Start) else goto :eof
[Edit]
Dieser batch trennt Dir auch den HTML code Zeilenweise in eine TXT ab.
somit kannst Du die obere CMD dann dafür benutzen diese TXT zu durchsuchen.
Ein bissel Hilfe ist drin.
Testdatei:
<div class="section" id="pane0"><table cellspacing="0" cellpadding="0" border="0" width="100%"><tr><td><table><tr>Ein Bsp. wäre:<tr><td class="subhead" bgcolor="#000000">Benutzer</td><td><input size="32" type="text" autocomplete="off" name="benutzer" value="blablabla" /></td><td bgcolor="#000000" colspan="2" rowspan="5"><select name="group" size="6" multiple="multiple" onclick="javascript:removeGroup()"></select></td></tr><tr><td class="subhead" bgcolor="#000000>Passwort</td><td><input size="32" type="password" autocomplete="off" name="passwort" value="xxxxxxxx" /></td></tr><tr><tr><td class="subhead" bgcolor="#000000">Mail</td><td><input size="32" type="text" autocomplete="off" name="mail" value="test@test.com" /></td></tr>
Egebnis nach der Behandlung: Testdatei.Code.txt
HTMCode : <div class="section" id="pane0">
HTMCode : <table cellspacing="0" cellpadding="0" border="0" width="100%">
HTMCode : <tr>
HTMCode : <td>
HTMCode : <table>
HTMCode : <tr>
HTMCode : <tr>
HTMCode : <td class="subhead" bgcolor="#000000">
HTMCode : </td>
HTMCode : <td>
HTMCode : <input size="32" type="text" autocomplete="off" name="benutzer" value="blablabla" />
HTMCode : </td>
HTMCode : <td bgcolor="#000000" colspan="2" rowspan="5">
HTMCode : <select name="group" size="6" multiple="multiple" onclick="javascript:removeGroup()">
HTMCode : </select>
HTMCode : </td>
HTMCode : </tr>
HTMCode : <tr>
HTMCode : <td class="subhead" bgcolor="#000000>
HTMCode : </td>
HTMCode : <td>
HTMCode : <input size="32" type="password" autocomplete="off" name="passwort" value="xxxxxxxx" />
HTMCode : </td>
HTMCode : </tr>
HTMCode : <tr>
HTMCode : <tr>
HTMCode : <td class="subhead" bgcolor="#000000">
HTMCode : </td>
HTMCode : <td>
HTMCode : <input size="32" type="text" autocomplete="off" name="mail" value="test@test.com" />
HTMCode : </td>
HTMCode : </tr>
[/Edit]
Wenn Du daraus etwas machen willst mit dem Anfansdings dann ... - ich bin raus.
wird so bestimmt was für Meister-B sein M-Behälter.
Gruß Phil