/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Søget ASP weather Script
Fra : Kim M. Jørgensen


Dato : 13-02-09 09:27

Er der nogen der har eller ved hvor jeg kan finde et Weather script i ASP.
Skal ikke kunne noget specielt bare kunne fortælle en aktuelle temperatur,
vind hastighed og retning i en bestemt by her i Danmark.

Skal nok selv have det om til at vise nogle flotte billeder eller lignende.

Synes ikke rigtig der er til at finde nogle hvis jeg søger på nettet.
For skal være en jeg har goden til så jeg selv kan tilrette hele visningen.



 
 
Rune Jensen (13-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-02-09 16:22

Kim M. Jørgensen skrev:

> For skal være en jeg har goden til så jeg selv kan tilrette hele visningen.

Hvad med en side, som du kan hente data fra i sådan en slags XML/RSS?

Du vil ikke kunne få selve koden bag scriptet. Jeg nægter at tro på, at
nogen vil udlevere den - simpelthen. Det er vildt tidskrævende at lave
sådan noget, hvilket plejer at betyde, de vil tjene penge på det også,
og der kan være ren copyright også fra meteologer/andre, derfor tror jeg
ikke på det som Open Source. Så jeg ville tage til takke med det
næst-bedste, men det kan du for så vidt også selv gøre med hvad du vil
(det er alene rå data, _ikke_ kode).

Prøv f.eks. http://www.rssweather.com/dir/Europe/Denmark


MVH
Rune Jensen

Rune Jensen (13-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 13-02-09 16:49

Rune Jensen skrev:

> Prøv f.eks. http://www.rssweather.com/dir/Europe/Denmark

Den er taget delvist fra denne
http://weather.noaa.gov/weather/current/EKCH.html
som er i Public Domain, hvilket vil sige, der er ret frie forhold i brug.

Bagdelen er, du skal selv udlede data, for det er (ret dårlig) HTML,
ikke XML. Det vil sige, du vil være tvunget til at se på, hvordan siden
er bygget op, om den er ens i alle tilfælde. Er den det, kan du lave
nogle standardrutiner til at skrabe oplysningerne ud én ad gangen. I
modsat fald er en RSS-feed langt bedre. Jeg kan ikke helt huske det, men
det er noget med XMLHHTPRequest og så noget serverside Javascript til at
finde rette tags og indholdet af dem.


MVH
Rune Jensen

Allan Pedersen (16-02-2009)
Kommentar
Fra : Allan Pedersen


Dato : 16-02-09 09:57

Prøv dette link:

http://www.weather.com/services/oap.html?from=footer

Her kan du selv styre form, indhold, hvilken eller hvilke byer du ønsker,
samt hvad du ønsker at se - vindhastighed, temp, prognoser etc etc.

Du får et ekstern link, til at indsætte hvor du ønsker det.

Har kørt test på http://webmeta.dk med indsættelse af ekstern link - indtil
nu med godt resultat.

De har i øvrigt en masse andet både freeware, shareware etc., som de Danske
vejrinstitutioner kunne lære en masse af...

Hilsen
Allan Pedersen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Rune Jensen (16-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 16-02-09 17:25

Allan Pedersen skrev:

> Du får et ekstern link, til at indsætte hvor du ønsker det.

Det er klart også en mulighed, nemt og enkelt.

Men fordelen ved kun at have de rå data, det er jo netop, man 100% selv
kan bestemme, hvordan de skal præsenteres. Du kan i og for sig indsætte
et billede af Pia Kærsgaard, hvis det er regnvejr som eksempel;)

Man skal selvfølgelig vide, hvordan man trækker hver datadel ud, men jeg
bruger normalt bare XMLHTTPRequest på serversiden og så noget instr. Det
virker ganske godt, og når man har prøvet det nogle gange, er det ret
trivielt. En yderligere fordel, det er jo aå, man ikke behøver en
iframe, samt at kommunikationen imellem din og den eksterne server er
minimal med kun hentning af rå data (det er så RSS-feeds ol. rene data,
jeg her snakker om, som nærmest fylder ingenting - man kan sagtens
scrape en normal HTML-side for data, men så skal hele sidens HTML jo
også hentes ind først, og ikke meget mere er vundet derved).


MVH
Rune Jensen

Kim M. Jørgensen (20-02-2009)
Kommentar
Fra : Kim M. Jørgensen


Dato : 20-02-09 11:18

Min plan var bate at hente det via weather.com

Så var dertil jeg så ville høre om det var nogen der evt kendte til nogle
scripts der kunne hente de data så jeg så selv kunne pressentere dem som jeg
ønsker at have det.


"Rune Jensen" <runeofdenmark@gmail.com> skrev i en meddelelse
news:49959040$0$25199$456a7185@news.cirque.dk...
> Kim M. Jørgensen skrev:
>
>> For skal være en jeg har goden til så jeg selv kan tilrette hele
>> visningen.
>
> Hvad med en side, som du kan hente data fra i sådan en slags XML/RSS?
>
> Du vil ikke kunne få selve koden bag scriptet. Jeg nægter at tro på, at
> nogen vil udlevere den - simpelthen. Det er vildt tidskrævende at lave
> sådan noget, hvilket plejer at betyde, de vil tjene penge på det også, og
> der kan være ren copyright også fra meteologer/andre, derfor tror jeg ikke
> på det som Open Source. Så jeg ville tage til takke med det næst-bedste,
> men det kan du for så vidt også selv gøre med hvad du vil (det er alene rå
> data, _ikke_ kode).
>
> Prøv f.eks. http://www.rssweather.com/dir/Europe/Denmark
>
>
> MVH
> Rune Jensen



Rune Jensen (20-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 20-02-09 18:55

Kim M. Jørgensen skrev:
> Min plan var bate at hente det via weather.com
>
> Så var dertil jeg så ville høre om det var nogen der evt kendte til nogle
> scripts der kunne hente de data så jeg så selv kunne pressentere dem som jeg
> ønsker at have det.

Jo, det kan du godt, og det har jeg også skrevet - du skal bruge
XMLHTTPRequest-objektet.

Men du skal lige være klar over, at:

1. Der kan være restriktioner for brug, herunder også scraping af
indhold. Nogle gange kan man klare dette ved at lave et tydeligt link
til siden, man scraper i umiddelbar nærhed af de data, man bruger (men
altså ikke altid). Dette er et vigtigt punkt, fordi man ellers risikerer
en "complaint" fra ophavsretsholder. Så i gang med at læse EULAen, eller
hvad det hedder (Vilkår for brug på dansk).

2. Hvis du scraper fra selve siden, vil du skulle finde de relevante
data selv ud af HTMLen. Det er måske ikke et problem, hvis siden er
bygget konsistent (ens imellem siderne), men varier f.eks. de tags, som
vejrdata står i, eller har de forskellige navne for hver gang, samt
selve placeringerne, kan det være noget af en opgave. Derudover, så skal
man hente _hele_ HTMLen ned for nogle få data, hvilket kan virke lidt
som overkill..

...det var derfor jeg foreslog en RSS-feed, som kun indeholder det
relevante, og hvor det hele er inddelt så nysseligt ens i beskrivende
XML-tags, og derfor ret nemt at få ud.

Men hvis du vil have et eksempel på, hvordan man får data ud af selve
siden, skal jeg se på det her i aften en gang. ...brugt på eget ansvar
(ifb. m. ovenstående 2 punkter)


MVH
Rune Jensen

Kim M. Jørgensen (23-02-2009)
Kommentar
Fra : Kim M. Jørgensen


Dato : 23-02-09 08:26

Ja jeg ville da ihverfald være meget interesseret i at se nogle eksempler på
hvordan det kunne gøres.

Så må jeg lære lidt ud fra det og se hvordan det kunne gøres.


"Rune Jensen" <runeofdenmark@gmail.com> skrev i en meddelelse
news:499eee96$0$25177$456a7185@news.cirque.dk...
> Kim M. Jørgensen skrev:
>> Min plan var bate at hente det via weather.com
>>
>> Så var dertil jeg så ville høre om det var nogen der evt kendte til nogle
>> scripts der kunne hente de data så jeg så selv kunne pressentere dem som
>> jeg ønsker at have det.
>
> Jo, det kan du godt, og det har jeg også skrevet - du skal bruge
> XMLHTTPRequest-objektet.
>
> Men du skal lige være klar over, at:
>
> 1. Der kan være restriktioner for brug, herunder også scraping af indhold.
> Nogle gange kan man klare dette ved at lave et tydeligt link til siden,
> man scraper i umiddelbar nærhed af de data, man bruger (men altså ikke
> altid). Dette er et vigtigt punkt, fordi man ellers risikerer en
> "complaint" fra ophavsretsholder. Så i gang med at læse EULAen, eller hvad
> det hedder (Vilkår for brug på dansk).
>
> 2. Hvis du scraper fra selve siden, vil du skulle finde de relevante data
> selv ud af HTMLen. Det er måske ikke et problem, hvis siden er bygget
> konsistent (ens imellem siderne), men varier f.eks. de tags, som vejrdata
> står i, eller har de forskellige navne for hver gang, samt selve
> placeringerne, kan det være noget af en opgave. Derudover, så skal man
> hente _hele_ HTMLen ned for nogle få data, hvilket kan virke lidt som
> overkill..
>
> ..det var derfor jeg foreslog en RSS-feed, som kun indeholder det
> relevante, og hvor det hele er inddelt så nysseligt ens i beskrivende
> XML-tags, og derfor ret nemt at få ud.
>
> Men hvis du vil have et eksempel på, hvordan man får data ud af selve
> siden, skal jeg se på det her i aften en gang. ...brugt på eget ansvar
> (ifb. m. ovenstående 2 punkter)
>
>
> MVH
> Rune Jensen



Rune Jensen (27-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 27-02-09 00:46

Kim M. Jørgensen skrev:
> Ja jeg ville da ihverfald være meget interesseret i at se nogle eksempler på
> hvordan det kunne gøres.
>
> Så må jeg lære lidt ud fra det og se hvordan det kunne gøres.

Hurdlen er i første omgang at få oprettet en funtion, som kan hente
sidens HTML (følgende er "stripped" fra en af mine andre sider, men virker):

Function getPageHTML( pageURL)

   Dim xmlObj

   ' Create an xmlhttp object:
   'Dim xmlObj As New Msxml2.ServerXMLHTTP30
   Set xmlObj = Server.CreateObject("Microsoft.XMLHTTP")
   ' or use: Set xml2 = Server.CreateObject("MSXML2.ServerXMLHTTP") ' For
Beta Msxml2.XMLHTTP.3.0


   ' Opens the connection to the remote server.
   xmlObj.Open "GET", pageURL , False
   
   on error resume next
   
   ' Actually Sends the request and returns the data:
   xmlObj.Send

   'Return page HTML, if the page was getted
   if xmlObj.status = 200 then
      getPageHTML = xmlObj.responseText
   else
      getPageHTML = xmlObj.status
   end if    



   Set xmlObj = Nothing

end Function

-----

Nu skal du så kalde funktionen med URLen til den side, du vil have
indhold ud af.

Og du skal have stripped alt imellem <body> og </body>
F.eks.

   Dim d
   rem d vil indeholde den fulde HTML
   d = lCase(
getPageHTML("http://weather.noaa.gov/weather/current/EKCH.html"))

   rem Fjern alt før <body>
   if instr( d, "<body") then d = mid( d, instr( d, "<body"))

   rem fjern alt efter </body>
   if instr( d, "</body>" then d = left( d, instr( d, "</body>"

   response.write d

-----

Du har så det indhold, som du skal trække bestemte data ud af... F.eks.
skal du have fundet ordet Weather og det tilhørende værdi..

...Hvad der er problemet her er, at det er lavet i table, MEN samtidig så
bruges gamle tags og koden er rent faktisk én pærevælling. Det gør det
svært at finde en metode til at finde værdierne, for du skal arbejde dig
ind på dem lidt ad gangen (koster også hastighed/performance, omend
måske ikke det vilde)

Jeg ville ikke stole på resultatet, fordi det netop er HTML, som man
forsøger at hente indhold ud af.

Men ovenstående funktion kan bruges til at hente indhold ud af XML-filer
ligeså nemt, f.eks. den dér RSS-fil jeg linkede til, og her er der ingen
slinger i valsen at udtrække de forskellige data. Det er vildt nemt at
hente oplysninger fra en sådan fil, hvis den er valid og
well-formed/velstruktureret.

Jeg forsøger mig frem med en løsning på både HTML og XML dataudtræk her:
http://runejensen.dk/om/testside.asp

...nederst på siden. Skal nok smide noget kode til det også.

Men som sagt, er det ren HTML, du skal trække data ud fra, ville jeg
ikke stole på det virker altid efter hensigten.


MVH
Rune Jensen

Rune Jensen (27-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 27-02-09 01:53

Rune Jensen skrev:

> Jeg forsøger mig frem med en løsning på både HTML og XML dataudtræk her:
> http://runejensen.dk/om/testside.asp
>
> ..nederst på siden. Skal nok smide noget kode til det også.
>
> Men som sagt, er det ren HTML, du skal trække data ud fra, ville jeg
> ikke stole på det virker altid efter hensigten.

Dette er koden til at finde de data, du vil have på HTML-siden..

Jeg har lavet en function til at hente siden, den returnerer sidens HTML

Dernæst, så har jeg lavet en function til at hente værdien af en term
(visibility f.eks.), den virker ved, at der søges på ordet, du vil
findes værdien for, og via et pattern finder værdien.

Helt i starten henter jeg sidens HTML, og stripper så vidt muligt alt
unødvendigt væk.

Her kan man se, hvor besværligt det kan være at hente data ud fra et
ikke well-formed dokument. Det er nemlig årsagen til, man er tvunget til
at gå igennem så mange steps for at arbejde sig ind på data.

Men koden skulle være lige til at smide ind og teste, der skal dog
itereres yderligere, hvis du vil have taget ud fahrenheit og celcius for
sig f.eks. for de vil ligge samlet som det er her (som tekst ikke som
tal). Men her ligger celcius i en parantes, så det kan man strippe ud
ved at kigge på den.

<%
   Dim d, searchpattern
   
   searchpattern = "<font face=" & chr( 34) & "arial,helvetica" & chr( 34)
& ">"

   d = lCase(
getPageHTML("http://weather.noaa.gov/weather/current/EKCH.html"))

   if instr( d, "<body>") then d = mid( d, instr( d, "<body>") + 6)

   if instr( d, "<table>") then d = mid( d, instr( d, "<table>") + 6)
   if instr( d, "</body>") then d = left( d, instr( d, "</body>"))

   if instr( d, "<hr") then d = mid( d, instr( d, "<hr"))

   if instr( d, "24 hour summary") then d = left( d, instr( d, "24 hour
summary"))

   if instr( d, " wind") then d = mid( d, instr( d, " wind"))

   response.write "Wind: " & findItem( d, " wind ", searchpattern)
   response.write "<br />"

   response.write "Visibility: " & findItem( d, "visibility", searchpattern)
   response.write "<br />"

   response.write "Sky conditions: " & findItem( d, "sky conditions",
searchpattern)

   response.write "<br />"
   response.write "Temparature: " & findItem( d, "temperature", searchpattern)

   response.write "<br />"
   response.write "Dew point: " & findItem( d, " dew point", searchpattern)

   response.write "<br />"
   response.write "Relative Humidity: " & findItem( d, " relative
humidity", searchpattern)

   response.write "<br />"
   response.write "Pressure (Altimeter): " & findItem( d, " pressure
(altimeter)", searchpattern)

   response.write "<br />"
   response.write "Ob: " & findItem( d, " ob", searchpattern)


function findItem( text, Term, Pattern)
   Dim f

   f = text
   
   if instr(f, term) then f = mid( f, instr( f, term) + len( term))
   if instr( f, pattern) then f = mid( f, instr( f, pattern) + len( pattern))
   if instr( f, "</") then f = left( f, instr( f, "</") -1)

   findItem=f
   
End Function

Function getPageHTML( pageURL)

   Dim xmlObj

   ' Create an xmlhttp object:
   'Dim xmlObj As New Msxml2.ServerXMLHTTP30
   Set xmlObj = Server.CreateObject("Microsoft.XMLHTTP")
   ' or use: Set xml2 = Server.CreateObject("MSXML2.ServerXMLHTTP") ' For
Beta Msxml2.XMLHTTP.3.0


   ' Opens the connection to the remote server.
   xmlObj.Open "GET", pageURL , False
   
   on error resume next
   
   ' Actually Sends the request and returns the data:
   xmlObj.Send

   'Return page HTML, if the page was getted
   if xmlObj.status = 200 then
      getPageHTML = xmlObj.responseText
   else
      getPageHTML = xmlObj.status
   end if

   Set xmlObj = Nothing

end Function

%>

Rune Jensen (23-02-2009)
Kommentar
Fra : Rune Jensen


Dato : 23-02-09 02:31

On 23 Feb., 08:26, "Kim M. Jørgensen" <kj-remo...@gidion.dk> wrote:
> Ja jeg ville da ihverfald være meget interesseret i at se nogle eksempler på
> hvordan det kunne gøres.
>
> Så må jeg lære lidt ud fra det og se hvordan det kunne gøres.

Min hoster er nede, så det er så som så med forsøgene. Lige i
øjeblikket hvert fald.

Kigger i aften.


MVH
Rune Jensen

Søg
Reklame
Statistik
Spørgsmål : 177425
Tips : 31962
Nyheder : 719565
Indlæg : 6407916
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste