Webfront-Salat über WWW-Reader & Text-Parser

Über WWW-Reader und Text-Parser hole ich mir von einer Wetterseite den für meinen Ort ausformulierten Wetterbericht und schreibe ihn in eine String-Variable, die im Webfront angezeigt wird. Heute haben die offenbar die Seite geändert, sodass der Parser irgendwas anderes geholt hat (oder der Parser hat einen Fehler gemacht?). So weit, so gut.

Blöderweise hat mir dieses andere etwas das Webfront gewürfelt: Kleinere Schrift, andere Schriftfarbe, neues Favicon, zentriertes IPS-Logo, … - auf allen Seiten, nicht nur der Unterseite des Wetterberichts. Siehe Screenshot.

Kann man sowas für die Zukunft verhindern? Oder liegt der Fehler woanders?

Hier mal der versehentlich eingefangene Inhalt der Variable (offensichtlich der komplette Seitenanfang):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <!-- ChromeFrame -->
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=IE7" />
	<title>Wetter XXX - Wettervorhersage aktuell bei wetter.com
</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="content-language" content="de" />
<meta name="description" content="Das Wetter in XXX. Finden Sie bei wetter.com die aktuelle Wettervorhersage für heute und die nächsten 3 Tage inkl. Temperatur, Wetterzustand und Regenwahrscheinlichkeit." />
<meta name="keywords" content="Wetter XXX, YYY, Deutschland, wetter.com, Wetter, Weltwetter, Deutschlandwetter, Österreichwetter, Schweizwetter, Wetterbericht, Wettervorhersage, Wetterprognose, Wetterwarnung, Wetterlexikon, Gesundheitswetter" />
<meta name="robots" content="index, follow" />
<meta name="language" content="de" />
<meta property="og:description" content="Das Wetter in XXX. Finden Sie bei wetter.com die aktuelle Wettervorhersage für heute und die nächsten 3 Tage inkl. Temperatur, Wetterzustand und Regenwahrscheinlichkeit." />
<meta property="og:type" content="article" />
<meta property="og:title" content="Wetter XXX - Wettervorhersage aktuell bei wetter.com
" />
<meta property="og:admin" content="wetter.com" />
<meta property="og:url" content="http://www.wetter.com/deutschland/ZZZ/XXX/xxx.html" />
<meta property="og:site_name" content="wetter.com" />

<link rel="icon" href="http://static1.wetter.com/img/cms/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="http://static1.wetter.com/img/cms/favicon.ico" type="image/x-icon" />
      
<link rel="canonical" href="http://www.wetter.com/deutschland/ZZZ/XXX/xxx.html"/>			   <link href="http://static1.wetter.com/css/all.css?6116" rel="stylesheet" />
 
   <link rel="stylesheet" type="text/css" href="http://static1.wetter.com/css/print.css?6116" media="print" />


   <link rel="stylesheet" type="text/css" href="http://static2.wetter.com/css/adtags.wetter.css?6116" />
   



   <script src="http://static1.wetter.com/js/all.js?6116" type="text/javascript"></script>
 
   <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="http://static2.wetter.com/js/ie8.js?6116"></script><![endif]-->
 
 
   <script src="http://static1.wetter.com/js/sda.js?6116" type="text/javascript"></script>
 
 
<!-- AddThis -->
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=wettercom"></script>

<!-- Chartbeat -->
<script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>

<!-- Google Analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20159543-1']);
_gaq.push(['_gat._anonymizeIp']);
_gaq.push(['_setDomainName', '.wetter.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]);
_gaq.push(['_addOrganic', 'suche.web.de', 'su']);
_gaq.push(['_addOrganic', 'suche.t-online.de', 'q']);
_gaq.push(['_addOrganic', 'suche.gmx.net', 'su']);
_gaq.push(['_addOrganic', 'search.1und1.de', 'su']);
_gaq.push(['_addOrganic', 'images.google', 'prev']);
_gaq.push(['_addOrganic', 'maps.google','q']);
_gaq.push(['_addOrganic', 'news.google','q']);
_gaq.push(['_addOrganic', 'video.google','q']);
_gaq.push(['_addIgnoredOrganic', 'www.wetter.com']);
_gaq.push(['_addIgnoredOrganic', 'wetter.com']);

customVars = {
  'tvBrand':      'none',
  'channel':      'wetter',
  'logged_in':    'NO',
  'profi':        'NO'
};

_gaq.push(['_setCustomVar', 1, 'tvBrand', customVars.tvBrand, 3]);
_gaq.push(['_setCustomVar', 2, 'channel', customVars.channel, 3]);
_gaq.push(['_setCustomVar', 3, 'Angemeldet', customVars.logged_in, 2]);
_gaq.push(['_setCustomVar', 4, 'Profi', customVars.profi, 2]);

_gaq.push(['_trackPageview', '/wetter_aktuell/wettervorhersage/3_tagesvorhersage/Europa/DE/YY/XXX']);
</script>

<script type="text/javascript">
var wetter_phrases={
    max_bookmarks: 'Sie haben die maximale Anzahl von Orten und Seiten erreicht'     
};

var staticBase = "http://static2.wetter.com/";
</script>
        <script type="text/javascript">
if ('undefined' == typeof location) {
    location = {};
}

location.data = {
    errorMax:    "",
    urlPage:     "/favorite/add-page",
    urlLocation: "/favorite/add-location?id=",
    urlData:     "/favorite/get-data?id="
};
</script>
        <script src="http://static2.wetter.com/js/diagrams.js?6116" type="text/javascript"></script>

		
	<meta property="fb:page_id" content="46856808501" />    
	<link rel="publisher" href="https://plus.google.com/101744726973453921218" />
	<link rel="search" type="application/opensearchdescription+xml" href="/files/opensearch/search.xml" title="wetter.com" />
	<link rel="alternate" type="application/rss+xml" title="RDF-Datei" href="http://www.wetter.com/wetter_rss/wetter.xml" />        
</head>
<body>
    <!-- ChromeFrame -->
    <!--[if lt IE 8]>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
        <script type="text/javascript">
            CFInstall.check({
                mode: "overlay"
            });
        </script>
    <![endif]-->  

			<script type="text/javascript">
    advertising.Data.parameters.mode = "city";
    advertising.Data.parameters.type = "beitrag";
    advertising.Data.site = "DE";
    advertising.Data.tracking_url = "/wetter_aktuell/wettervorhersage/3_tagesvorhersage/Europa/DE/YY/XXX";
    advertising.Data.parameters.keywords = "";

        advertising.Data.parameters.continent         = "Europa";
    advertising.Data.parameters.continentCode     = "EU";
            advertising.Data.parameters.country           = "Deutschland";
    advertising.Data.parameters.countryCode       = "EUDE";
        advertising.Data.parameters.cityName          = "XXX";
        advertising.Data.parameters.regionCode        = "yyy";
    advertising.Data.parameters.regionName        = "YYY";
    
    advertising.Data.parameters.admin4Code        = "www";
    advertising.Data.parameters.cityCode          = "xxx";
    advertising.Data.parameters.cityZipcode       = "0815";
    advertising.Data.parameters.temperatureMin    = "4";
    advertising.Data.parameters.temperatureMax    = "9";
    advertising.Data.parameters.weatherState      = "6";
    advertising.Data.parameters.weatherStateFuzzy = "0n1n2y3n";

    </script>

<script type="text/javascript" src="http://static1.wetter.com/js/adtags.base.js?1140"></script>
<script type="text/javascript" src="http://static1.wetter.com/js/adtags.wetter.js?1140"></script>

<script type="text/javascript">
   advertising.Interner.addToStack('168');
   advertising.Interner.addToStack('153');
   advertising.Interner.addToStack('152');
   advertising.Interner.addToStack('163');
   advertising.Interner.addToStack('164');
   advertising.Interner.addToStack('155');
   advertising.Interner.addToStack('165');
   advertising.Interner.load();
</script>

	
        
        
    <div class="mainWrapper" id="mainWrapper">
        <div id="wrapper">
	    
<!-- AdTags::popup1 -->
<div id="ad-sowefo">
<div id="ad-popup1" style="display:none;">
<div id="ad-target_popup1" class="ad-wrapper">

Grüße
galleto

Hallo,

meine IPS Seite sieht zwar noch so aus wie vorher, aber die Werte die ich von Wetter.com auslese passen nicht mehr :(.

Sie haben auf ein neues Layout/Style umgestellt, so dass ich den Parser anpassen müsste.
Aber wahrscheinlich versuche ich lieber die Wetter.com API zu nutzen - dann bin ich auch für zukünftige Style-Änderungen gerüstet :rolleyes:.

Gruß
Thorsten

Ja, die haben dabei leider auch die textbasierte Tagesvorhersage abgeschafft, die hab ich mir bisher morgendlich vorlesen lassen.

Aber die Frage bleibt: Kann man verhindern, dass ein ungewollt eingefangener Inhalt das Webfront zerlegt?

Grüße
galleto

Du könntest ein Ereignis bei Änderung deiner String Variable legen und dann in dem Script einige „Plausi“-Tests machen.

Bsp. Textlänge, Vorhandensein gewisser Zeichen, etc. prüfen.

Falls dieser Test ein negatives Ergebnis liefert, dann einfach deine Variable auf leer setzen.

Das könnte zumindest helfen.

Gruß
Thorsten

Gute Idee. Dabei könnte man auch gewisse „Reizwörter“ (z.B. favicon) prüfen. Ich setze mir das mal auf ToDo. :wink:

Grüße
galleto