Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

AUs HTML Code einer Wetterseite Temperaturen oder Windrichtung auslesen - HTML bereits mit wget als txt gespeichert

Frage Entwicklung Batch & Shell

Mitglied: 75772

75772 (Level 1)

24.02.2009, aktualisiert 16:05 Uhr, 7010 Aufrufe, 6 Kommentare

habe einiges probiert. komme einfach nicht weiter und muss jetzt hier um hilfe bitten.

Hallo Zusammen,
vorgestern habe ich gedacht ich schaffs noch indem ich die verschiedenen anderen Probleme hier durchlese, aber hab leider nicht ganz das passende gefunden und kommt nicht voran mit meinem Problem.

Ich lade mir durch eine Batch datei und mittels wget die folgende HTML seite auf meine Festplatte: http://www.rssweather.com/wx/de/karlsruhe/wx.php
Die HTML seite wird in eine Txt datei kopiert, oder als txt abgespeichert.
Auf diesen Quellcode möchte ich zugreifen und die aktuelle Temperatur und später evtl auch WIndrichtung, Sonnenauf und Untergang auslesen. Es reicht wenn ich den Wert, sagen wir mal 6 (ohne Grad Celsius) mittels "echo >> c:\test.txt " abspeichern kann.

so habe ich mal angefangen, kam aber nicht weiter:

for /f "tokens=2,3* delims=: " %%i in ('findstr /L Temperature: "c:\wetter.txt"') do @echo %%i



vielleicht kann mir jemand einen tipp geben, Danke schonmal! Florian




Ausschnitt der wetter.txt
01.
<div id="current"> 
02.
		<p class="summary"><img src="http://rssweather.cachefly.net/images/weather-symbols/mcloudy.png" alt="Mostly Cloudy weather icon" class="icon"/> Mostly Cloudy </p><p class="temp">Temperature: 6&deg;C</p> 
03.
 
04.
		<dl class="summaryText"> 
05.
 			<dt>Humidity:</dt><dd id="humidity">65%</dd> 
06.
   			 			<dt>Wind Speed:</dt><dd id="windspeed">10 KMH</dd>  			 <dt>Wind Direction:</dt><dd id="winddir">N (360&#176;)</dd> 
07.
 
08.
 <dt>Barometer:</dt><dd id="pressure">    1025 mb   </dd> 			<dt>Dewpoint:</dt><dd id="dewpoint">0&deg;C</dd> 
09.
 
10.
 			<dt>Heat Index:</dt><dd id="heatindex">6&deg;C</dd> 
11.
 			<dt>Wind Chill:</dt><dd id="windchill">3&deg;C</dd> 
12.
			<dt>Visibility:</dt><dd id="visibility"> 11 km </dd> 
13.
 
14.
			<dt>Sunrise:</dt><dd>7:22 AM GMT+1</dd> 
15.
 
16.
			<dt>Sunset:</dt><dd>6:00 PM GMT+1</dd>			 
17.
		</dl> 
18.
		 
19.
	<p class="time">Updated: 3:20 PM GMT+1 TUE FEB 24 2009</p> 
20.
</div>
Mitglied: paulepank
24.02.2009 um 16:49 Uhr
Hallo renardfm,

01.
for /f "delims=&" %%i in ('findstr Temperature wetter.txt') do set grad=%%i 
02.
>>grad.txt echo %grad:~-2%
Es werden die letzten 2 Zeichen vor dem & ausgegeben, falls es mal wärmer wird.

cu paulepank
Bitte warten ..
Mitglied: bastla
24.02.2009 um 16:56 Uhr
Hallo renardfm und willkommen im Forum!

Mit Batch alleine macht das bei all diesen Sonderzeichen und unstrukturierten Zeilen keinen Spaß - mit Einbindung von etwas VBS sollte es aber klappen:
01.
@echo off & setlocal 
02.
set "Datei=C:\Wetter.txt" 
03.
 
04.
set SucheTemp="Temperature: (\d+)&deg;" 
05.
set SucheWR="(\d+)&#176;" 
06.
 
07.
set G=%temp%\GetTemp.vbs 
08.
>%G%  echo Set a=WScript.Arguments:T=CreateObject("Scripting.FileSystemObject").OpenTextFile(a(0)).ReadAll:P=a(1) 
09.
>>%G% echo Set rE=New RegExp:rE.IgnoreCase=True:rE.Pattern=P:Set Res=rE.Execute(T):For Each R In Res:WScript.Echo R.SubMatches(0):Next 
10.
 
11.
for /f %%i in ('cscript //nologo %G% "%Datei%" %SucheTemp%') do set "T=%%i" 
12.
if defined T echo Temperatur:   %T% 
13.
 
14.
for /f %%i in ('cscript //nologo %G% "%Datei%" %SucheWR%') do set "WR=%%i" 
15.
if defined WR echo Windrichtung: %WR%
Das (durch den Batch erstellte) VBScript sucht mittels "Regulärer Ausdrücke" nach dem ersten Auftreten des übergebenen Strings (zB "Temperature: Zahl&deg;") und gibt nur die gefundene Zahl zurück. Die Schreibweise für die gesuchte Zahl (nur Ziffern) im Suchstring ist dabei "(\d+)"

Durch mehrmaligen Aufruf mit unterschiedlichen Suchbegriffen (siehe zB Variable %SucheWR%) können verschiedene Werte ausgelesen werden.

Grüße
bastla
Bitte warten ..
Mitglied: 75772
24.02.2009 um 16:59 Uhr
puh, vielen Dank!!

jetzt hab ich wieder was zu basteln

einen schönen abend noch!!
Bitte warten ..
Mitglied: NBTKetchup
14.03.2011 um 21:08 Uhr
HI zusammen

kann man damit auch Textteile auslesen weil wenn ich das richtig verstanden hab kann (\d+) nur Zahlenwerte annehmen?!

in dem Beispiel oben zB will ich die Visibility: nicht nur mit 11 aulesen sondern er soll das 11km auslesen, am besten unabhängig davon wieviel Zeichen der Text hat einfach bis das nächste Trennzeichen kommt in diesem Fall </dd>

LG Ket
Bitte warten ..
Mitglied: bastla
14.03.2011 um 21:50 Uhr
Hallo NBTKetchup!

Wegen der Anführungszeichen ist das etwas tricky - aber so sollte es klappen:
01.
@echo off & setlocal 
02.
set "Datei=C:\Wetter.txt" 
03.
 
04.
set SucheTemp="Temperature: (\d+)ø" 
05.
set SucheWR="(\d+)ø" 
06.
set SucheVis="<dd id=@visibility@>(.+)</dd>" 
07.
 
08.
set G=%temp%\GetTemp.vbs 
09.
>%G%  echo Set a=WScript.Arguments:T=CreateObject("Scripting.FileSystemObject").OpenTextFile(a(0)).ReadAll:P=Replace(a(1),"@","""") 
10.
>>%G% echo Set rE=New RegExp:rE.IgnoreCase=True:rE.Pattern=P:Set Res=rE.Execute(T):For Each R In Res:WScript.Echo Trim(R.SubMatches(0)):Next 
11.
 
12.
for /f %%i in ('cscript //nologo %G% "%Datei%" %SucheTemp%') do set "T=%%i" 
13.
if defined T echo Temperatur:   %T% 
14.
 
15.
for /f %%i in ('cscript //nologo %G% "%Datei%" %SucheWR%') do set "WR=%%i" 
16.
if defined WR echo Windrichtung: %WR% 
17.
 
18.
for /f "delims=" %%i in ('cscript //nologo %G% "%Datei%" %SucheVis%') do set "Vis=%%i" 
19.
if defined Vis echo Visibility: %Vis%
Den Anführungszeichen-Ersatz "@" kannst Du auch variieren (im Suchstring und in Zeile 9 muss er aber natürlich übereinstimmen) ...

Grüße
bastla
Bitte warten ..
Mitglied: NBTKetchup
15.03.2011 um 10:36 Uhr
Hi bastla

tausend dank du hast mir sehr weiter geholfen

LG Ket
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen auslesen und in Code einbauen (10)

Frage von markue zum Thema Batch & Shell ...

Batch & Shell
Wget unter Windows, Speichern auf NAS (5)

Frage von Stoffn zum Thema Batch & Shell ...

JavaScript
gelöst HTML-Javascript - Auslesen von Formularfeldern (1)

Frage von internet2107 zum Thema JavaScript ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...