Webbsida skrapning via Linux. (8 / 16 steg)
Steg 8: Få vädret uppdatering:
Getweather uppdatering:
[code]
#! / bin/bash
# prognos
#desc hitta aktuella väder statistik och prognos för ditt postnummer
#desc ex: prognos 03301
# Väder 1.1 - Crouse
# Med uppdateringar av Jeo
# Ändras för att köra fristående av Brian Masinick,
# och även lagt till prognostiserad logiken bidragit med Daenyth.
# Observera: Detta verktyg använder elinks och länkar text webbläsare (om du inte har båda,
# justera)
# Exempel: prognos 03301
# Användning: prognos postnummer
Postnummer = $1
om [- z "$zipcode"]; sedan
ECHO "Ange ett postnummer (Ex: väder 03301)"
annat
unset svar
# Bör en distinkt linje (med upprepade snedstreck för att hjälpa):
######################################################################################
. / getForecast? query = ${postnummer} "| grep-A16 uppdaterad) "
om [- z "$WEATHER"]; sedan
svar = "Nr resultat för $zipcode"
ECHO "${svar}"
annat
svar [1] = "$(eko"$WEATHER"| grep -Eo 'Observed.*' | sed s / \ * \|\ * / \|/g | awk-F\| "{print" Väder: "$1}')"
svar [2] = "$(eko"$WEATHER"| grep -Eo 'Updated.*' |sed s / \ * \|\ * / \|/g |awk-F\| "{print $1}')"
svar [3] = "$(eko"$WEATHER"| grep -Eo 'Temperature.*' | sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}" | sed s/DEG / \ / g) "
svar [4] = "$(eko"$WEATHER"| grep -Eo 'Windchill.*' | sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}" | sed s/DEG / \ / g) "
svar [5] = "$(eko"$WEATHER"| grep -Eo ' vind. *' | sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}')"
svar [6] = "$(eko"$WEATHER"| grep -Eo"Godkänt"| sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}')"
svar [7] = "$(eko"$WEATHER"| grep -Eo 'Humidity.*' |sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}')"
svar [8] = "$(eko"$WEATHER"| grep -Eo 'Dew.Point.*' |sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}" | sed s/DEG / \ / g) "
svar [9] = "$(eko"$WEATHER"| grep -Eo 'Pressure.*' |sed s / \ * \|\ * / \|/g | awk-F\| "{skriva ut $1": "$2}')"
för indexet i 'seq 1 9'; göra
om [-n "${svar [$index]}"]; sedan
ECHO "${svar [$index]}"
Fi
Låt "index = $index + 1"
gjort
Fi
Fi
# Denna del av koden skrevs av Daenyth.
DEFAULTZIP = 03301
getforecast() {
ECHO "din 10 dagars väderprognos som följer:"
ECHO "dag, väder, hög/låg (F), nederbörd. %"
Länkar - dump "http://www.weather.com/weather/print/$ 1" | perl - ne ' / \d %\s+$/ & & s/DEG / / g & & print'
ECHO ""
}
om [$# - eq 1]; sedan
om (echo "$1" | egrep - q ' ^ [0-9][0-9][0-9][0-9][0-9]$'); sedan
getforecast $1
Fi
annat
getforecast $DEFAULTZIP
Fi
/code]
Aktuell prognos:
Väder: Observerade i Concord, New Hampshire
Uppdaterad: 9:45 PM EDT den 07 maj, 2009
Temperatur: 55.3Â ° F/12.9Â ° C
Vind: SYDLIG på 0.0 mph/0.0 km/h
Villkor: mulet
Luftfuktighet: 97%
Daggpunkt: 54Â ° F / 12Â ° C
Tryck: 29.68 i / 1005.0 hPa (stabilt)
Din 10 dagars väderprognos enligt följande:
Dagen, väder, hög/låg (F), nederbörd. %
Ikväll duschar tidiga 47 30%
Fre duschar 69/50 40%
Satt Växlande molnighet 79/50 10%
Sön några duschar / vind 64/42 30%
Mån Växlande molnighet 60/40 20%
Tis duschar 63/40 40%
Ons soliga 67/44 10%
Tor molnigt 68/45 20%
Fre duschar 71/44 60%
Lör duschar 69/44 60%