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, 6972 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
Windows Userverwaltung
gelöst Ordnergruppenfreigaben in CSV oder HTML auslesen (3)

Frage von JafThomas zum Thema Windows Userverwaltung ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Rechtliche Fragen
Hotspot rechtssicher betreiben? (14)

Frage von xSiggix zum Thema Rechtliche Fragen ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...