From 2330b650352517b47d1c6aa0dc054f6d29164157 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 25 May 2016 22:36:26 +0200 Subject: [PATCH] Move package to new structure --- .../filters/webpages/wettercom/WetterComFilter.kt | 86 - .../filters/webpages/wettercom/WetterComState.kt | 107 - .../webpages/weather/wettercom/WetterComFilter.kt | 86 + .../webpages/weather/wettercom/WetterComState.kt | 107 + .../webpages/wettercom/WetterComFilterTest.kt | 83 - .../weather/wettercom/WetterComFilterTest.kt | 83 + .../filters/webpages/wettercom/wetter.com.html | 6095 -------------------- .../webpages/weather/wettercom/wetter.com.html | 6095 ++++++++++++++++++++ 8 files changed, 6371 insertions(+), 6371 deletions(-) delete mode 100644 src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilter.kt delete mode 100644 src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComState.kt create mode 100644 src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilter.kt create mode 100644 src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt delete mode 100644 src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt create mode 100644 src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilterTest.kt delete mode 100644 src/test/resources/net/pterodactylus/rhynodge/filters/webpages/wettercom/wetter.com.html create mode 100644 src/test/resources/net/pterodactylus/rhynodge/webpages/weather/wettercom/wetter.com.html diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilter.kt deleted file mode 100644 index c926b5b..0000000 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilter.kt +++ /dev/null @@ -1,86 +0,0 @@ -package net.pterodactylus.rhynodge.filters.webpages.wettercom - -import net.pterodactylus.rhynodge.Filter -import net.pterodactylus.rhynodge.State -import net.pterodactylus.rhynodge.states.FailedState -import net.pterodactylus.rhynodge.states.HtmlState -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter - -/** - * HTML parser for [wetter.com](https://www.wetter.com/). - * - * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) - */ -class WetterComFilter : Filter { - - private val dateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm") - - override fun filter(state: State?): State { - if (state?.success()?.not() ?: true) { - return FailedState.from(state) - } - if (state !is HtmlState) { - throw IllegalArgumentException("") - } - - return parseWetterComState(state) - } - - private fun parseWetterComState(state: HtmlState): State { - val dateTime = parseDateTime(state.document()) ?: return FailedState(IllegalArgumentException("no date present")) - val wetterComState = WetterComState(dateTime) - parseHourStates(state.document()).forEach { wetterComState.addHour(it) } - return wetterComState - } - - private fun parseDateTime(document: Document): LocalDateTime? { - val dateElement = document.select("#furtherDetails .portable-mb h3") - .single()?.text()?.split(",")?.get(1)?.trim() ?: return null - val timeElement = document.select(".weather-strip--detail .delta.palm-hide") - .first()?.text()?.split(" ")?.first() ?: return null - return LocalDateTime.from(dateTimeFormatter.parse("%s %s".format(dateElement, timeElement))) - } - - private fun parseHourStates(document: Document): List { - return document.select(".weather-strip--detail").mapIndexed { index, element -> parseHourState(index, element) } - } - - private fun parseHourState(index: Int, hourElement: Element): WetterComState.HourState { - return WetterComState.HourState.atHour(index) - .temperature(parseTemperature(hourElement)) - .rainProbability(parseRainProbability(hourElement)) - .rainAmount(parseRainAmount(hourElement)) - .windFrom(parseWindDirection(hourElement)) - .at(parseWindSpeed(hourElement)) - .describedAs(parseDescription(hourElement)) - .withImage(parseImageUrl(hourElement)) - .build() - } - - private fun parseTemperature(hourElement: Element) = - hourElement.extractText(".weather-strip__2 .item-weathericon .palm-hide").filter { (it >= '0') and (it <= '9') }.toDouble() - - private fun parseRainProbability(hourElement: Element) = - hourElement.extractText(".weather-strip__3 .text--left:eq(0) .flag__body span:eq(0)").filter { (it >= '0') and (it <= '9') }.toDouble() / 100.0 - - private fun parseRainAmount(hourElement: Element) = - hourElement.extractText(".weather-strip__3 .text--left:eq(0) .flag__body span:eq(1)").trim().split(" ")[1].toDouble() - - private fun parseWindDirection(hourElement: Element) = - hourElement.extractText(".weather-strip__3 .text--left:eq(1) .flag__body span:eq(0)").trim().split(",")[0].toWindDirection() - - private fun parseWindSpeed(hourElement: Element) = - hourElement.extractText(".weather-strip__3 .text--left:eq(1) .flag__body span:eq(0)").split(Regex("[, ]+"))[1].toDouble() - - private fun parseDescription(hourElement: Element) = - hourElement.extractText(".weather-strip__1 .vhs-text--small") - - private fun parseImageUrl(hourElement: Element) = - hourElement.select(".weather-strip__2 img").firstOrNull()?.attr("src") ?: "" - - private fun Element.extractText(selector: String) = select(selector).firstOrNull()?.text() ?: "" - -} diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComState.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComState.kt deleted file mode 100644 index 0698879..0000000 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComState.kt +++ /dev/null @@ -1,107 +0,0 @@ -package net.pterodactylus.rhynodge.filters.webpages.wettercom - -import net.pterodactylus.rhynodge.states.AbstractState -import java.time.LocalDateTime - -/** - * Contains the state parsed from [wetter.com](https://www.wetter.com/). - * - * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) - */ -class WetterComState(val dateTime: LocalDateTime) : AbstractState(true) { - - val hours: List = mutableListOf() - - fun addHour(hourState: HourState) { - (hours as MutableList).add(hourState) - } - - enum class WindDirection { - - NONE, - NORTH, - NORTHEAST, - EAST, - SOUTHEAST, - SOUTH, - SOUTHWEST, - WEST, - NORTHWEST - - } - - data class HourState(val hourIndex: Int, val temperature: Double, val rainProbability: Double, val rainAmount: Double, val windDirection: WindDirection, val windSpeed: Double, val description: String, val image: String) { - - class Builder(private val hourIndex: Int) { - - fun temperature(temperature: Double) = _1(temperature) - - inner class _1(private val temperature: Double) { - - fun rainProbability(rainProbability: Double) = _2(rainProbability) - - inner class _2(private val rainProbability: Double) { - - fun rainAmount(rainAmount: Double) = _3(rainAmount) - - inner class _3(private val rainAmount: Double) { - - fun windFrom(windDirection: WindDirection) = _4(windDirection); - - inner class _4(private val windDirection: WindDirection) { - - fun at(windSpeed: Double) = _5(windSpeed) - - inner class _5(private val windSpeed: Double) { - - fun describedAs(description: String) = _6(description) - - inner class _6(private val description: String) { - - fun withImage(imageUrl: String) = _7(imageUrl) - - inner class _7(private val imageUrl: String) { - - fun build(): HourState { - return HourState(hourIndex, temperature, rainProbability, rainAmount, windDirection, windSpeed, description, imageUrl) - } - - } - - } - - } - - } - - } - - } - - } - - } - - companion object { - - fun atHour(hourIndex: Int) = Builder(hourIndex) - - } - - } - -} - -fun String.toWindDirection(): WetterComState.WindDirection { - return when (this) { - "N" -> WetterComState.WindDirection.NORTH - "NE" -> WetterComState.WindDirection.NORTHEAST - "E" -> WetterComState.WindDirection.EAST - "SE" -> WetterComState.WindDirection.SOUTHEAST - "S" -> WetterComState.WindDirection.SOUTH - "SW" -> WetterComState.WindDirection.SOUTHWEST - "W" -> WetterComState.WindDirection.WEST - "NW" -> WetterComState.WindDirection.NORTHWEST - else -> WetterComState.WindDirection.NONE - } -} diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilter.kt new file mode 100644 index 0000000..1c8d59b --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilter.kt @@ -0,0 +1,86 @@ +package net.pterodactylus.rhynodge.webpages.weather.wettercom + +import net.pterodactylus.rhynodge.Filter +import net.pterodactylus.rhynodge.State +import net.pterodactylus.rhynodge.states.FailedState +import net.pterodactylus.rhynodge.states.HtmlState +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter + +/** + * HTML parser for [wetter.com](https://www.wetter.com/). + * + * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) + */ +class WetterComFilter : Filter { + + private val dateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm") + + override fun filter(state: State?): State { + if (state?.success()?.not() ?: true) { + return FailedState.from(state) + } + if (state !is HtmlState) { + throw IllegalArgumentException("") + } + + return parseWetterComState(state) + } + + private fun parseWetterComState(state: HtmlState): State { + val dateTime = parseDateTime(state.document()) ?: return FailedState(IllegalArgumentException("no date present")) + val wetterComState = WetterComState(dateTime) + parseHourStates(state.document()).forEach { wetterComState.addHour(it) } + return wetterComState + } + + private fun parseDateTime(document: Document): LocalDateTime? { + val dateElement = document.select("#furtherDetails .portable-mb h3") + .single()?.text()?.split(",")?.get(1)?.trim() ?: return null + val timeElement = document.select(".weather-strip--detail .delta.palm-hide") + .first()?.text()?.split(" ")?.first() ?: return null + return LocalDateTime.from(dateTimeFormatter.parse("%s %s".format(dateElement, timeElement))) + } + + private fun parseHourStates(document: Document): List { + return document.select(".weather-strip--detail").mapIndexed { index, element -> parseHourState(index, element) } + } + + private fun parseHourState(index: Int, hourElement: Element): WetterComState.HourState { + return WetterComState.HourState.atHour(index) + .temperature(parseTemperature(hourElement)) + .rainProbability(parseRainProbability(hourElement)) + .rainAmount(parseRainAmount(hourElement)) + .windFrom(parseWindDirection(hourElement)) + .at(parseWindSpeed(hourElement)) + .describedAs(parseDescription(hourElement)) + .withImage(parseImageUrl(hourElement)) + .build() + } + + private fun parseTemperature(hourElement: Element) = + hourElement.extractText(".weather-strip__2 .item-weathericon .palm-hide").filter { (it >= '0') and (it <= '9') }.toDouble() + + private fun parseRainProbability(hourElement: Element) = + hourElement.extractText(".weather-strip__3 .text--left:eq(0) .flag__body span:eq(0)").filter { (it >= '0') and (it <= '9') }.toDouble() / 100.0 + + private fun parseRainAmount(hourElement: Element) = + hourElement.extractText(".weather-strip__3 .text--left:eq(0) .flag__body span:eq(1)").trim().split(" ")[1].toDouble() + + private fun parseWindDirection(hourElement: Element) = + hourElement.extractText(".weather-strip__3 .text--left:eq(1) .flag__body span:eq(0)").trim().split(",")[0].toWindDirection() + + private fun parseWindSpeed(hourElement: Element) = + hourElement.extractText(".weather-strip__3 .text--left:eq(1) .flag__body span:eq(0)").split(Regex("[, ]+"))[1].toDouble() + + private fun parseDescription(hourElement: Element) = + hourElement.extractText(".weather-strip__1 .vhs-text--small") + + private fun parseImageUrl(hourElement: Element) = + hourElement.select(".weather-strip__2 img").firstOrNull()?.attr("src") ?: "" + + private fun Element.extractText(selector: String) = select(selector).firstOrNull()?.text() ?: "" + +} diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt b/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt new file mode 100644 index 0000000..5bd6291 --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComState.kt @@ -0,0 +1,107 @@ +package net.pterodactylus.rhynodge.webpages.weather.wettercom + +import net.pterodactylus.rhynodge.states.AbstractState +import java.time.LocalDateTime + +/** + * Contains the state parsed from [wetter.com](https://www.wetter.com/). + * + * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) + */ +class WetterComState(val dateTime: LocalDateTime) : AbstractState(true) { + + val hours: List = mutableListOf() + + fun addHour(hourState: HourState) { + (hours as MutableList).add(hourState) + } + + enum class WindDirection { + + NONE, + NORTH, + NORTHEAST, + EAST, + SOUTHEAST, + SOUTH, + SOUTHWEST, + WEST, + NORTHWEST + + } + + data class HourState(val hourIndex: Int, val temperature: Double, val rainProbability: Double, val rainAmount: Double, val windDirection: WindDirection, val windSpeed: Double, val description: String, val image: String) { + + class Builder(private val hourIndex: Int) { + + fun temperature(temperature: Double) = _1(temperature) + + inner class _1(private val temperature: Double) { + + fun rainProbability(rainProbability: Double) = _2(rainProbability) + + inner class _2(private val rainProbability: Double) { + + fun rainAmount(rainAmount: Double) = _3(rainAmount) + + inner class _3(private val rainAmount: Double) { + + fun windFrom(windDirection: WindDirection) = _4(windDirection); + + inner class _4(private val windDirection: WindDirection) { + + fun at(windSpeed: Double) = _5(windSpeed) + + inner class _5(private val windSpeed: Double) { + + fun describedAs(description: String) = _6(description) + + inner class _6(private val description: String) { + + fun withImage(imageUrl: String) = _7(imageUrl) + + inner class _7(private val imageUrl: String) { + + fun build(): HourState { + return HourState(hourIndex, temperature, rainProbability, rainAmount, windDirection, windSpeed, description, imageUrl) + } + + } + + } + + } + + } + + } + + } + + } + + } + + companion object { + + fun atHour(hourIndex: Int) = Builder(hourIndex) + + } + + } + +} + +fun String.toWindDirection(): WetterComState.WindDirection { + return when (this) { + "N" -> WetterComState.WindDirection.NORTH + "NE" -> WetterComState.WindDirection.NORTHEAST + "E" -> WetterComState.WindDirection.EAST + "SE" -> WetterComState.WindDirection.SOUTHEAST + "S" -> WetterComState.WindDirection.SOUTH + "SW" -> WetterComState.WindDirection.SOUTHWEST + "W" -> WetterComState.WindDirection.WEST + "NW" -> WetterComState.WindDirection.NORTHWEST + else -> WetterComState.WindDirection.NONE + } +} diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt deleted file mode 100644 index ab77d36..0000000 --- a/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -package net.pterodactylus.rhynodge.filters.webpages.wettercom - -import net.pterodactylus.rhynodge.State -import net.pterodactylus.rhynodge.filters.ResourceLoader.loadDocument -import net.pterodactylus.rhynodge.filters.webpages.wettercom.WetterComState.WindDirection -import net.pterodactylus.rhynodge.states.FailedState -import net.pterodactylus.rhynodge.states.HtmlState -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.`is` -import org.hamcrest.Matchers.contains -import org.junit.Rule -import org.junit.Test -import org.junit.rules.ExpectedException -import org.mockito.Mockito.`when` -import org.mockito.Mockito.mock -import java.time.LocalDateTime -import java.time.Month - - -/** - * Unit test for [WetterComFilter]. - * - * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) - */ -class WetterComFilterTest { - - @Rule @JvmField val expectedException = ExpectedException.none() - - private val url = "http://www.wetter.com/wetter_aktuell/wettervorhersage/heute/deutschland/hamburg/DE0004130.html" - private val filter = WetterComFilter() - - @Test - fun filterReturnsFailedStateWhenGivenFailedState() { - val exception = mock(Exception::class.java) - val failedState = FailedState(exception) - val newState = filter.filter(failedState) - assertThat(newState.success(), `is`(false)) - assertThat(newState.exception(), `is`(exception as Throwable)) - } - - @Test - fun filterThrowsWhenASuccessfulNonHtmlStateIsGiven() { - val state = mock(State::class.java) - `when`(state.success()).thenReturn(true) - expectedException.expect(IllegalArgumentException::class.java) - filter.filter(state) - } - - @Test - fun filterParsesHtmlCorrectly() { - val document = loadDocument(javaClass, "wetter.com.html", url) - val htmlState = HtmlState(url, document) - val newState = filter.filter(htmlState) as WetterComState - assertThat(newState.dateTime, `is`(LocalDateTime.of(2016, Month.MAY, 23, 5, 0))) - assertThat(newState.hours, contains( - WetterComState.HourState(0, 15.0, 0.65, 0.8, WindDirection.NORTH, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(1, 15.0, 0.7, 0.9, WindDirection.NONE, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(2, 17.0, 0.75, 1.0, WindDirection.NORTHWEST, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(3, 17.0, 0.85, 0.3, WindDirection.NORTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(4, 19.0, 0.9, 0.3, WindDirection.SOUTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(5, 20.0, 0.85, 0.3, WindDirection.SOUTHWEST, 7.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(6, 20.0, 0.75, 0.3, WindDirection.SOUTHWEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(7, 20.0, 0.70, 0.3, WindDirection.WEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(8, 20.0, 0.70, 0.2, WindDirection.WEST, 9.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(9, 20.0, 0.70, 0.4, WindDirection.WEST, 5.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(10, 20.0, 0.70, 0.4, WindDirection.WEST, 7.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(11, 19.0, 0.70, 0.4, WindDirection.WEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(12, 18.0, 0.70, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(13, 17.0, 0.70, 0.4, WindDirection.NORTHWEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(14, 16.0, 0.75, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(15, 15.0, 0.85, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(16, 14.0, 0.9, 0.2, WindDirection.WEST, 14.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(17, 14.0, 0.9, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(18, 14.0, 0.9, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(19, 13.0, 0.85, 0.1, WindDirection.NORTHWEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(20, 13.0, 0.8, 0.01, WindDirection.WEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(21, 12.0, 0.75, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(22, 12.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(23, 11.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518") - )) - } - -} diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilterTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilterTest.kt new file mode 100644 index 0000000..85e76c4 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComFilterTest.kt @@ -0,0 +1,83 @@ +package net.pterodactylus.rhynodge.webpages.weather.wettercom + +import net.pterodactylus.rhynodge.State +import net.pterodactylus.rhynodge.filters.ResourceLoader.loadDocument +import net.pterodactylus.rhynodge.webpages.weather.wettercom.WetterComState.WindDirection +import net.pterodactylus.rhynodge.states.FailedState +import net.pterodactylus.rhynodge.states.HtmlState +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers.`is` +import org.hamcrest.Matchers.contains +import org.junit.Rule +import org.junit.Test +import org.junit.rules.ExpectedException +import org.mockito.Mockito.`when` +import org.mockito.Mockito.mock +import java.time.LocalDateTime +import java.time.Month + + +/** + * Unit test for [WetterComFilter]. + * + * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) + */ +class WetterComFilterTest { + + @Rule @JvmField val expectedException = ExpectedException.none() + + private val url = "http://www.wetter.com/wetter_aktuell/wettervorhersage/heute/deutschland/hamburg/DE0004130.html" + private val filter = WetterComFilter() + + @Test + fun filterReturnsFailedStateWhenGivenFailedState() { + val exception = mock(Exception::class.java) + val failedState = FailedState(exception) + val newState = filter.filter(failedState) + assertThat(newState.success(), `is`(false)) + assertThat(newState.exception(), `is`(exception as Throwable)) + } + + @Test + fun filterThrowsWhenASuccessfulNonHtmlStateIsGiven() { + val state = mock(State::class.java) + `when`(state.success()).thenReturn(true) + expectedException.expect(IllegalArgumentException::class.java) + filter.filter(state) + } + + @Test + fun filterParsesHtmlCorrectly() { + val document = loadDocument(javaClass, "wetter.com.html", url) + val htmlState = HtmlState(url, document) + val newState = filter.filter(htmlState) as WetterComState + assertThat(newState.dateTime, `is`(LocalDateTime.of(2016, Month.MAY, 23, 5, 0))) + assertThat(newState.hours, contains( + WetterComState.HourState(0, 15.0, 0.65, 0.8, WindDirection.NORTH, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(1, 15.0, 0.7, 0.9, WindDirection.NONE, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(2, 17.0, 0.75, 1.0, WindDirection.NORTHWEST, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(3, 17.0, 0.85, 0.3, WindDirection.NORTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), + WetterComState.HourState(4, 19.0, 0.9, 0.3, WindDirection.SOUTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), + WetterComState.HourState(5, 20.0, 0.85, 0.3, WindDirection.SOUTHWEST, 7.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), + WetterComState.HourState(6, 20.0, 0.75, 0.3, WindDirection.SOUTHWEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(7, 20.0, 0.70, 0.3, WindDirection.WEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(8, 20.0, 0.70, 0.2, WindDirection.WEST, 9.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), + WetterComState.HourState(9, 20.0, 0.70, 0.4, WindDirection.WEST, 5.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(10, 20.0, 0.70, 0.4, WindDirection.WEST, 7.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(11, 19.0, 0.70, 0.4, WindDirection.WEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(12, 18.0, 0.70, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(13, 17.0, 0.70, 0.4, WindDirection.NORTHWEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(14, 16.0, 0.75, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), + WetterComState.HourState(15, 15.0, 0.85, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), + WetterComState.HourState(16, 14.0, 0.9, 0.2, WindDirection.WEST, 14.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(17, 14.0, 0.9, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(18, 14.0, 0.9, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(19, 13.0, 0.85, 0.1, WindDirection.NORTHWEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(20, 13.0, 0.8, 0.01, WindDirection.WEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(21, 12.0, 0.75, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(22, 12.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), + WetterComState.HourState(23, 11.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518") + )) + } + +} diff --git a/src/test/resources/net/pterodactylus/rhynodge/filters/webpages/wettercom/wetter.com.html b/src/test/resources/net/pterodactylus/rhynodge/filters/webpages/wettercom/wetter.com.html deleted file mode 100644 index d076b11..0000000 --- a/src/test/resources/net/pterodactylus/rhynodge/filters/webpages/wettercom/wetter.com.html +++ /dev/null @@ -1,6095 +0,0 @@ - - - - - - - - - - - Wetter Hamburg | wetter.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -loading ... - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - - - -
- - -
- - - - -
-
- - - - - - - - - -
-
- - - - - - - - - -
-
- -
- - - - -
- -
- - - -
- -
- - -
- -
-
- - - - -
-
- -
- - - -
-
- - -
-
-

Das Wetter in Hamburg

-
-
-
-
- - - - - - - - - - -{ -"locationcode":"DE0004130", -"name":"Hamburg", -"title":"Hamburg", -"lat":53.5534, -"lon":9.9907, -"url":"/deutschland/hamburg/DE0004130.html", -"temperatureMin":11, -"temperatureMax":20, -"weatherStateImage":"d_61_S.png", -"weatherStateText":"leichter Regen", -"expire":1463982732, -"lastUpdate":1463979132 -} - -
-
- -
-
-
- - - -
-
- Die HD-Kamera zeigt das Wetter live am Standort Hamburg - Emporio - -
-
- -
- - - -
-

Dieses Wetter erwartet Sie im Tagesverlauf

- - -

- In Hamburg wechseln sich tagsüber Regen und trockene Phasen ab bei Temperaturen von 14 bis 20°C. Nachts gibt es leichten Regen und das Thermometer fällt auf 11°C. Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. -

- - -
- -
-
- - 05:07 Uhr - - 21:27 Uhr -
-
-
-
-
- - Vollmond -
-
Astronomie
- - - - - - - - - - - - - - - - -
Mondaufgang:22:40 Uhr
Monduntergang:06:38 Uhr
Mondphase:Vollmond
Sternzeichen:Zwilling
Tierkreiszeichen:Schütze
-
-
-
-
-
-
-
- -
-
- Heute gibt es bis zu 5 Sonnenstunden
-
-
-
-
- - -
- -
-
    - - - -
  • - -
    -
    -
    -
    -
    -

    Morgens

    - - -
    -
    -
    -
    -
    - leichter Regen-schauer
    -
    - leichter Regen-schauer
    -
    -
    -
    20°
    / 14°
    -
    -
    gefühlt
    21° / 14°
    -
    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - 90 % - | 3.6 l/m² -
    -
    -
    -
    -
    -
    - -
    -
    - N, 5 km/h
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    -
    - -
      - -
    • -
      -
      -
      -
      -
      05:00 - 06:00
      -
      05 - 06
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      15°C
      -
      15°C
      -
      15°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 65 % - | 0.8 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - N, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      06:00 - 07:00
      -
      06 - 07
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      15°C
      -
      15°C
      -
      15°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.9 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - -, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      07:00 - 08:00
      -
      07 - 08
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      17°C
      -
      17°C
      -
      17°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 1 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      08:00 - 09:00
      -
      08 - 09
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      17°C
      -
      17°C
      -
      17°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 85 % - | 0.3 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      09:00 - 10:00
      -
      09 - 10
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      19°C
      -
      19°C
      -
      19°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 90 % - | 0.3 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - SW, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      10:00 - 11:00
      -
      10 - 11
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 85 % - | 0.3 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - SW, 7 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    -
  • - -
  • - -
    -
    -
    -
    -
    -

    Mittags

    - - -
    -
    -
    -
    -
    - leichter Regen-schauer
    -
    - leichter Regen-schauer
    -
    -
    -
    20°
    / 19°
    -
    -
    gefühlt
    21° / 20°
    -
    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - 85 % - | 2.3 l/m² -
    -
    -
    -
    -
    -
    - -
    -
    - W, 8 km/h
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    -
    - -
      - -
    • -
      -
      -
      -
      -
      11:00 - 12:00
      -
      11 - 12
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 0.3 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - SW, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      12:00 - 13:00
      -
      12 - 13
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.3 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      13:00 - 14:00
      -
      13 - 14
      -
      - leichter Regen-schauer -
      -
      - - -
      -
      -
      - - leichter Regen-schauer -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 9 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      14:00 - 15:00
      -
      14 - 15
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 5 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      15:00 - 16:00
      -
      15 - 16
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      20°C
      -
      20°C
      -
      20°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 7 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      16:00 - 17:00
      -
      16 - 17
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      19°C
      -
      19°C
      -
      19°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    -
  • - -
  • - -
    -
    -
    -
    -
    -

    Abends

    - - -
    -
    -
    -
    -
    - Regenschauer
    -
    - Regenschauer
    -
    -
    -
    19°
    / 14°
    -
    -
    gefühlt
    19° / 13°
    -
    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - 90 % - | 2.2 l/m² -
    -
    -
    -
    -
    -
    - -
    -
    - NW, 12 km/h
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    -
    - -
      - -
    • -
      -
      -
      -
      -
      17:00 - 18:00
      -
      17 - 18
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      18°C
      -
      18°C
      -
      18°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      18:00 - 19:00
      -
      18 - 19
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      17°C
      -
      17°C
      -
      17°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 70 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      19:00 - 20:00
      -
      19 - 20
      -
      - Regenschauer -
      -
      - - -
      -
      -
      - - Regenschauer -
      -
      -
      16°C
      -
      16°C
      -
      16°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 0.4 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      20:00 - 21:00
      -
      20 - 21
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      15°C
      -
      15°C
      -
      15°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 85 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      21:00 - 22:00
      -
      21 - 22
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      14°C
      -
      14°C
      -
      14°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 90 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 14 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      22:00 - 23:00
      -
      22 - 23
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      14°C
      -
      14°C
      -
      14°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 90 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    -
  • -
  • -
    -
    -
    - Anzeige -
    -
    - -
  • -
  • - -
    -
    -
    -
    -
    -

    Nachts

    - - -
    -
    -
    -
    -
    - leichter Regen
    -
    - leichter Regen
    -
    -
    -
    14°
    / 11°
    -
    -
    gefühlt
    13° / 10°
    -
    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - 90 % - | 1.1 l/m² -
    -
    -
    -
    -
    -
    - -
    -
    - NW, 11 km/h
    -
    -
    -
    -
    - - - -
    -
    -
    - -
    -
    -
    -
    -
    - -
      - -
    • -
      -
      -
      -
      -
      23:00 - 00:00
      -
      23 - 00
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      14°C
      -
      14°C
      -
      14°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 90 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      00:00 - 01:00
      -
      00 - 01
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      13°C
      -
      13°C
      -
      13°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 85 % - | 0.1 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      01:00 - 02:00
      -
      01 - 02
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      13°C
      -
      13°C
      -
      13°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 80 % - | 0.01 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 11 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      02:00 - 03:00
      -
      02 - 03
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      12°C
      -
      12°C
      -
      12°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - W, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      03:00 - 04:00
      -
      03 - 04
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      12°C
      -
      12°C
      -
      12°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    • -
      -
      -
      -
      -
      04:00 - 05:00
      -
      04 - 05
      -
      - leichter Regen -
      -
      - - -
      -
      -
      - - leichter Regen -
      -
      -
      11°C
      -
      11°C
      -
      11°C
      -
      -
      -
      -
      -
      -
      -
      - -
      -
      - 75 % - | 0.2 l/m² -
      -
      -
      -
      -
      -
      - -
      -
      - NW, 12 km/h
      -
      -
      -
      -
      - - -
      -
      - -
    • - -
    -
  • -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - Vorhersage für Dienstag 24.05. - - -
- - - - - - - - - - - -
-
-
-
-
-
-
- - -
- -
- - -
-
-
- -

Wetternetzwerkstationen in der Nähe

-

Folgende Wetterdaten stammen von privaten Wetterstationen des wetter.com Wetternetzwerks.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StationenLetzte MeldungEntfernung
Hamburg
- Hamburg - - 15.6°C - - - - - 0 km/h - - 23.05. | 06:00 - - ca. 23.4 km -
Letzte Meldung 23.05. | 06:00 Entfernung ca. 23.4 km
Henstedt-Ulzburg
- Henstedt-Ulzburg - - 14.7°C - - - - - 0 km/h - - 23.05. | 05:47 - - ca. 25.9 km -
Letzte Meldung 23.05. | 05:47 Entfernung ca. 25.9 km
Beckdorf O.T.Goldbeck
- Beckdorf O.T.Goldbeck - - 15.6°C - - - - - 0 km/h - - 23.05. | 06:00 - - ca. 28.8 km -
Letzte Meldung 23.05. | 06:00 Entfernung ca. 28.8 km
- -

- Übersicht aller WetternetzwerkstationenAlle Wetternetzwerkstationen -

- -
-
-
- - - - - - - - -
-
-
-
-
-
-
-
-
-
- - - - -
-

News zum Thema Wetter

-
-
-
- Kais Kolumne -
-
- Gewitter-Ticker -
-
- Wetterwissen -
-
- 3-Tage-Vorhersage -
-
- Wochenwetter -
-
- Wochenende -
-
- -
-
- Kais Kolumne -
-
- Gewitter-Ticker -
-
- Wetterwissen -
-
- 3-Tage-Vorhersage -
-
- Wochenwetter -
-
- Wochenende -
-
-
-
- -
-
-
-
- -
- -
-
-
- - - - - - - - - - -
- -

Weitere Details zum Wetter in Hamburg und Umgebung

- -
- -
-

Wetter heute, 23.05.2016

- - In Hamburg bleibt es morgens unbeständig, so dass es immer mal wieder zu Regen kommen kann bei Temperaturen von 14°C. Später kann es immer mal wieder regnen und die Temperatur erreicht 20°C. Abends kommt es in Hamburg zu Regenschauern und die Temperaturen liegen zwischen 14 und 19 Grad. Nachts gibt es leichten Regen und die Luft kühlt sich auf 11°C ab.

Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. Mit einer Wahrscheinlichkeit von 90%, ist über den Tag verteilt mit Niederschlagsmengen von 1.1 bis 3.6 l/m² zu rechnen. Die gefühlten Temperaturen liegen bei 10 bis 21°C. - - Zum 14 Tage Ausblick - -
-
-

Das Wetter in der Umgebung

-
- -
- -
- -
- -
- -
- - - - - - -
-

Städtewetter

-
- -
-
- - -
-
-
-
-
- -
-
- Nach oben scrollen -
-
-
-
-
- -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - -
- -

Das Wetter in Hamburg 23.05.2016

- - -

- In Hamburg wechseln sich tagsüber Regen und trockene Phasen ab bei Temperaturen von 14 bis 20°C. Nachts gibt es leichten Regen und das Thermometer fällt auf 11°C. Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Morgens

- leichter Regen-schauer
- -
- leichter Regen-schauer - - 20° / 14° - - Niederschlagsrisiko: 90 % -
-

Mittags

- leichter Regen-schauer
- -
- leichter Regen-schauer - - 20° / 19° - - Niederschlagsrisiko: 85 % -
-

Abends

- Regenschauer
- -
- Regenschauer - - 19° / 14° - - Niederschlagsrisiko: 90 % -
-

Nachts

- leichter Regen
- -
- leichter Regen - - 14° / 11° - - Niederschlagsrisiko: 90 % -
- wetter.com -
- Ein Service der wetter.com GmbH
- - - -
- - - - - - diff --git a/src/test/resources/net/pterodactylus/rhynodge/webpages/weather/wettercom/wetter.com.html b/src/test/resources/net/pterodactylus/rhynodge/webpages/weather/wettercom/wetter.com.html new file mode 100644 index 0000000..d076b11 --- /dev/null +++ b/src/test/resources/net/pterodactylus/rhynodge/webpages/weather/wettercom/wetter.com.html @@ -0,0 +1,6095 @@ + + + + + + + + + + + Wetter Hamburg | wetter.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +loading ... + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + + + +
+ + +
+ + + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + +
+
+ +
+ + + + +
+ +
+ + + +
+ +
+ + +
+ +
+
+ + + + +
+
+ +
+ + + +
+
+ + +
+
+

Das Wetter in Hamburg

+
+
+
+
+ + + + + + + + + + +{ +"locationcode":"DE0004130", +"name":"Hamburg", +"title":"Hamburg", +"lat":53.5534, +"lon":9.9907, +"url":"/deutschland/hamburg/DE0004130.html", +"temperatureMin":11, +"temperatureMax":20, +"weatherStateImage":"d_61_S.png", +"weatherStateText":"leichter Regen", +"expire":1463982732, +"lastUpdate":1463979132 +} + +
+
+ +
+
+
+ + + +
+
+ Die HD-Kamera zeigt das Wetter live am Standort Hamburg - Emporio + +
+
+ +
+ + + +
+

Dieses Wetter erwartet Sie im Tagesverlauf

+ + +

+ In Hamburg wechseln sich tagsüber Regen und trockene Phasen ab bei Temperaturen von 14 bis 20°C. Nachts gibt es leichten Regen und das Thermometer fällt auf 11°C. Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. +

+ + +
+ +
+
+ + 05:07 Uhr + + 21:27 Uhr +
+
+
+
+
+ + Vollmond +
+
Astronomie
+ + + + + + + + + + + + + + + + +
Mondaufgang:22:40 Uhr
Monduntergang:06:38 Uhr
Mondphase:Vollmond
Sternzeichen:Zwilling
Tierkreiszeichen:Schütze
+
+
+
+
+
+
+
+ +
+
+ Heute gibt es bis zu 5 Sonnenstunden
+
+
+
+
+ + +
+ +
+
    + + + +
  • + +
    +
    +
    +
    +
    +

    Morgens

    + + +
    +
    +
    +
    +
    + leichter Regen-schauer
    +
    + leichter Regen-schauer
    +
    +
    +
    20°
    / 14°
    +
    +
    gefühlt
    21° / 14°
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + 90 % + | 3.6 l/m² +
    +
    +
    +
    +
    +
    + +
    +
    + N, 5 km/h
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    + +
      + +
    • +
      +
      +
      +
      +
      05:00 - 06:00
      +
      05 - 06
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      15°C
      +
      15°C
      +
      15°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 65 % + | 0.8 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + N, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      06:00 - 07:00
      +
      06 - 07
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      15°C
      +
      15°C
      +
      15°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.9 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + -, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      07:00 - 08:00
      +
      07 - 08
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      17°C
      +
      17°C
      +
      17°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 1 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      08:00 - 09:00
      +
      08 - 09
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      17°C
      +
      17°C
      +
      17°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 85 % + | 0.3 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      09:00 - 10:00
      +
      09 - 10
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      19°C
      +
      19°C
      +
      19°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 90 % + | 0.3 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + SW, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      10:00 - 11:00
      +
      10 - 11
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 85 % + | 0.3 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + SW, 7 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    +
  • + +
  • + +
    +
    +
    +
    +
    +

    Mittags

    + + +
    +
    +
    +
    +
    + leichter Regen-schauer
    +
    + leichter Regen-schauer
    +
    +
    +
    20°
    / 19°
    +
    +
    gefühlt
    21° / 20°
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + 85 % + | 2.3 l/m² +
    +
    +
    +
    +
    +
    + +
    +
    + W, 8 km/h
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    + +
      + +
    • +
      +
      +
      +
      +
      11:00 - 12:00
      +
      11 - 12
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 0.3 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + SW, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      12:00 - 13:00
      +
      12 - 13
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.3 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      13:00 - 14:00
      +
      13 - 14
      +
      + leichter Regen-schauer +
      +
      + + +
      +
      +
      + + leichter Regen-schauer +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 9 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      14:00 - 15:00
      +
      14 - 15
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 5 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      15:00 - 16:00
      +
      15 - 16
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      20°C
      +
      20°C
      +
      20°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 7 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      16:00 - 17:00
      +
      16 - 17
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      19°C
      +
      19°C
      +
      19°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    +
  • + +
  • + +
    +
    +
    +
    +
    +

    Abends

    + + +
    +
    +
    +
    +
    + Regenschauer
    +
    + Regenschauer
    +
    +
    +
    19°
    / 14°
    +
    +
    gefühlt
    19° / 13°
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + 90 % + | 2.2 l/m² +
    +
    +
    +
    +
    +
    + +
    +
    + NW, 12 km/h
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    + +
      + +
    • +
      +
      +
      +
      +
      17:00 - 18:00
      +
      17 - 18
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      18°C
      +
      18°C
      +
      18°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      18:00 - 19:00
      +
      18 - 19
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      17°C
      +
      17°C
      +
      17°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 70 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      19:00 - 20:00
      +
      19 - 20
      +
      + Regenschauer +
      +
      + + +
      +
      +
      + + Regenschauer +
      +
      +
      16°C
      +
      16°C
      +
      16°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 0.4 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      20:00 - 21:00
      +
      20 - 21
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      15°C
      +
      15°C
      +
      15°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 85 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      21:00 - 22:00
      +
      21 - 22
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      14°C
      +
      14°C
      +
      14°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 90 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 14 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      22:00 - 23:00
      +
      22 - 23
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      14°C
      +
      14°C
      +
      14°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 90 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    +
  • +
  • +
    +
    +
    + Anzeige +
    +
    + +
  • +
  • + +
    +
    +
    +
    +
    +

    Nachts

    + + +
    +
    +
    +
    +
    + leichter Regen
    +
    + leichter Regen
    +
    +
    +
    14°
    / 11°
    +
    +
    gefühlt
    13° / 10°
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + 90 % + | 1.1 l/m² +
    +
    +
    +
    +
    +
    + +
    +
    + NW, 11 km/h
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    + +
      + +
    • +
      +
      +
      +
      +
      23:00 - 00:00
      +
      23 - 00
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      14°C
      +
      14°C
      +
      14°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 90 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      00:00 - 01:00
      +
      00 - 01
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      13°C
      +
      13°C
      +
      13°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 85 % + | 0.1 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      01:00 - 02:00
      +
      01 - 02
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      13°C
      +
      13°C
      +
      13°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 80 % + | 0.01 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 11 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      02:00 - 03:00
      +
      02 - 03
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      12°C
      +
      12°C
      +
      12°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + W, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      03:00 - 04:00
      +
      03 - 04
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      12°C
      +
      12°C
      +
      12°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    • +
      +
      +
      +
      +
      04:00 - 05:00
      +
      04 - 05
      +
      + leichter Regen +
      +
      + + +
      +
      +
      + + leichter Regen +
      +
      +
      11°C
      +
      11°C
      +
      11°C
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + 75 % + | 0.2 l/m² +
      +
      +
      +
      +
      +
      + +
      +
      + NW, 12 km/h
      +
      +
      +
      +
      + + +
      +
      + +
    • + +
    +
  • +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + Vorhersage für Dienstag 24.05. + + +
+ + + + + + + + + + + +
+
+
+
+
+
+
+ + +
+ +
+ + +
+
+
+ +

Wetternetzwerkstationen in der Nähe

+

Folgende Wetterdaten stammen von privaten Wetterstationen des wetter.com Wetternetzwerks.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StationenLetzte MeldungEntfernung
Hamburg
+ Hamburg + + 15.6°C + + - + + 0 km/h + + 23.05. | 06:00 + + ca. 23.4 km +
Letzte Meldung 23.05. | 06:00 Entfernung ca. 23.4 km
Henstedt-Ulzburg
+ Henstedt-Ulzburg + + 14.7°C + + - + + 0 km/h + + 23.05. | 05:47 + + ca. 25.9 km +
Letzte Meldung 23.05. | 05:47 Entfernung ca. 25.9 km
Beckdorf O.T.Goldbeck
+ Beckdorf O.T.Goldbeck + + 15.6°C + + - + + 0 km/h + + 23.05. | 06:00 + + ca. 28.8 km +
Letzte Meldung 23.05. | 06:00 Entfernung ca. 28.8 km
+ +

+ Übersicht aller WetternetzwerkstationenAlle Wetternetzwerkstationen +

+ +
+
+
+ + + + + + + + +
+
+
+
+
+
+
+
+
+
+ + + + +
+

News zum Thema Wetter

+
+
+
+ Kais Kolumne +
+
+ Gewitter-Ticker +
+
+ Wetterwissen +
+
+ 3-Tage-Vorhersage +
+
+ Wochenwetter +
+
+ Wochenende +
+
+ +
+
+ Kais Kolumne +
+
+ Gewitter-Ticker +
+
+ Wetterwissen +
+
+ 3-Tage-Vorhersage +
+
+ Wochenwetter +
+
+ Wochenende +
+
+
+
+ +
+
+
+
+ +
+ +
+
+
+ + + + + + + + + + +
+ +

Weitere Details zum Wetter in Hamburg und Umgebung

+ +
+ +
+

Wetter heute, 23.05.2016

+ + In Hamburg bleibt es morgens unbeständig, so dass es immer mal wieder zu Regen kommen kann bei Temperaturen von 14°C. Später kann es immer mal wieder regnen und die Temperatur erreicht 20°C. Abends kommt es in Hamburg zu Regenschauern und die Temperaturen liegen zwischen 14 und 19 Grad. Nachts gibt es leichten Regen und die Luft kühlt sich auf 11°C ab.

Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. Mit einer Wahrscheinlichkeit von 90%, ist über den Tag verteilt mit Niederschlagsmengen von 1.1 bis 3.6 l/m² zu rechnen. Die gefühlten Temperaturen liegen bei 10 bis 21°C. + + Zum 14 Tage Ausblick + +
+
+

Das Wetter in der Umgebung

+
+ +
+ +
+ +
+ +
+ +
+ + + + + + +
+

Städtewetter

+
+ +
+
+ + +
+
+
+
+
+ +
+
+ Nach oben scrollen +
+
+
+
+
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Das Wetter in Hamburg 23.05.2016

+ + +

+ In Hamburg wechseln sich tagsüber Regen und trockene Phasen ab bei Temperaturen von 14 bis 20°C. Nachts gibt es leichten Regen und das Thermometer fällt auf 11°C. Mit Geschwindigkeiten von 5 bis 12 km/h weht der Wind aus nördlicher bis nordwestlicher Richtung. +

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Morgens

+ leichter Regen-schauer
+ +
+ leichter Regen-schauer + + 20° / 14° + + Niederschlagsrisiko: 90 % +
+

Mittags

+ leichter Regen-schauer
+ +
+ leichter Regen-schauer + + 20° / 19° + + Niederschlagsrisiko: 85 % +
+

Abends

+ Regenschauer
+ +
+ Regenschauer + + 19° / 14° + + Niederschlagsrisiko: 90 % +
+

Nachts

+ leichter Regen
+ +
+ leichter Regen + + 14° / 11° + + Niederschlagsrisiko: 90 % +
+ wetter.com +
+ Ein Service der wetter.com GmbH
+ + + +
+ + + + + + -- 2.7.4