fiLLLipnet Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 Går det ann å lage et vbscript som samler informasjon fra andre internettsider som f.eks. storm.no sidene? For så å skrive dem ut på en annen side? Veldig takknemmelig for svar Lenke til kommentar
Jonas Skrevet 18. mai 2005 Del Skrevet 18. mai 2005 (endret) Joda, det går nok ann. Et par tekst-funksjoner for å hente ut hva du vil ha og analysere. Regner med at du ikke kan VB og bare vil ha noen til å skrive for deg. Da må du nok være litt mer presis.. Edit: Slik kan du hente www.storm.no: Msgbox GetWebPage("http://www.storm.no") Private Function GetWebPage(PassedURL) set Http = Createobject("Microsoft.XMLHTTP") Http.Open "GET",URL & PassedURL, False Http.Send GetWebPage = BinToText(Http.ResponseBody, Len(Http.ResponseBody)) set Http = nothing End Function Private Function BinToText(varBinData, intDataSizeInBytes) Dim objRs Const adFldLong = &H00000080 Const adVarChar = 200 Set objRS = CreateObject("ADODB.Recordset") objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong objRS.Open objRS.AddNew objRS.Fields("txt").AppendChunk varBinData BinToText = objRS("txt").Value objRS.Close Set objRS = Nothing End Function Endret 18. mai 2005 av Jonas Lenke til kommentar
fiLLLipnet Skrevet 19. mai 2005 Forfatter Del Skrevet 19. mai 2005 Tusen takk for svar Nei, kan nok ikke VB men vil mer enn gjerne lære det Anngående å vere mer presis: Jeg vil hente ut f.eks. hva vær som er og kommer... Og om det går ann; hente navn på icon og erstatte de med icon lokalt på maskinen... Den koden du skrev Jonas, lager den html over til xml eller er det bare jeg som er litt "nybegynner"? Lenke til kommentar
Jonas Skrevet 19. mai 2005 Del Skrevet 19. mai 2005 Koden henter kun ned http://www.storm.no (HTML-koden, det som sendes til alle nettlesere) og viser den i en MsgBox. Går sikkert ann å hente ut været og vise med Samurize, men da må vel kunne Samurize rimelig godt. (Noe jeg ikke kan i det hele tatt) Lenke til kommentar
aadnk Skrevet 19. mai 2005 Del Skrevet 19. mai 2005 Nå kan jeg dessverre heller ikke Samurize, men om du ønsker å lære deg VB, vil muligens denne intruksjonsartikkelen gagne. Uheldigvis omhandler artikkelen Visual Basic 6, og ikke VBScript, skjønt disse to programmeringsspråkene er i bunn og grunn likedan. Du kan benytte dette programmet i samsvar med veiledningen på Wikibooks. Skulle du ønske å jobbe videre med Visual Basic, kan du jo alltids lære deg VB .NET (kanhende bør du starte i denne enden òg, MEN, lærdommen kan da ikke benyttes direkte til VBScript). Lenke til kommentar
fiLLLipnet Skrevet 21. mai 2005 Forfatter Del Skrevet 21. mai 2005 Jeg fant ikke hvordan jeg skal hente ut en spesiell del av texten!? Noen som vet hvordan det går ann? Lenke til kommentar
Richard87 Skrevet 21. mai 2005 Del Skrevet 21. mai 2005 start med og dele opp teksten du har lastet ned i faste deler, f.eks prøv og "split"'e teksten(html siden) på alle <table> merkene... se om du finner faste merker i teksten som ikke forandrer seg, og legg inn disse i programmet ditt... laster du ennda ner info fra www.storm.no? Lenke til kommentar
Jonas Skrevet 21. mai 2005 Del Skrevet 21. mai 2005 (endret) Du henter ut deler av en tekst med Mid(), Left() og Right() Mid(string, start, length) Left(string, length) Right(String, Length) Edit: Du bruker InStr() og InStrRev() for å finne deler i teksten. Endret 21. mai 2005 av Jonas Lenke til kommentar
fiLLLipnet Skrevet 22. mai 2005 Forfatter Del Skrevet 22. mai 2005 (endret) Jeg prøver å laste ned været fra sol.no som igjen laster det fra storm... Edit: Jeg laster fra storm.no sitt WOD (Weather On Demand) Mye kortere Kildekode Endret 23. mai 2005 av Filip_KickAss Lenke til kommentar
fiLLLipnet Skrevet 23. mai 2005 Forfatter Del Skrevet 23. mai 2005 Hei igjen... Har lett litt og lurer nå på hvordan man skal få til å lage link til bilder som skal vises... Noen som vet hvordan? Lenke til kommentar
Jonas Skrevet 23. mai 2005 Del Skrevet 23. mai 2005 Hva med å se på noen andre skript? Lenke til kommentar
fiLLLipnet Skrevet 23. mai 2005 Forfatter Del Skrevet 23. mai 2005 Har gjort det men alle jeg har sett til nå bruker Plugin :S (.DLL filer) Er det ikke noen slags funksjon i VBS som kan brukes til slikt da? Hvilken kommando brukes for å vise bilder i hjemmesider ved bruk av vbs? kansje den kan brukes Lenke til kommentar
Jonas Skrevet 23. mai 2005 Del Skrevet 23. mai 2005 Snakker vi om VB sammen med Samurize eller VB-scripting i hjemmesider? Lage link til bilder? Forklar litt mer, er du snill.. (Tok en raskt titt gjennom denne denne og det ser ikke ut som det følger med noen DLLer) Lenke til kommentar
fiLLLipnet Skrevet 24. mai 2005 Forfatter Del Skrevet 24. mai 2005 (endret) VB sammen med Samurize ja... Jeg vet ikke hva som er koden for å vise bilder :S Er det noen egen kode for det? slik som det er <img> i HTML ? (Jeg vet det ikke følger med noen dll'er med det programmet men alle programmer som viser bilder ser ut til å bruke dll...) Endret 24. mai 2005 av Filip_KickAss Lenke til kommentar
Richard87 Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 her e ett eksempel på lasta ner info fra web sider.. sinnsykt overdreven kode tippe eg, kunne sikkert ha blitt gjort på en enklere måte... uanz, finne temperaturen for idag, i mårrå og i overmåra for stavanger på TV2 sine websider.. TV2 Storm V_r.zip Lenke til kommentar
fiLLLipnet Skrevet 24. mai 2005 Forfatter Del Skrevet 24. mai 2005 Så ingen .vbs fil der og forstod heller ikke hvilken filer som var der.. Hvilken måte kan jeg bruke programmet? Lenke til kommentar
Jonas Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 Det er et VB-prosjekt og du kan ikke bruke noe av det, med mindre du har VB innstalert eller gidder å åpne det i notepad (frm- og mod-filen) Lenke til kommentar
aadnk Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 (endret) Som Jonas har nevt, kan du nok uheldigvis ikke benytte eksempelet ovenfor direkte. Men, i et anfall av kjedsomhet, skrev jeg selv en liten VBS-kodesnutt som kan håndtere denne oppgaven. Nå har jeg riktignok kun fått programmet til å vise sluttresultatet i en merknadsboks, idet jeg ikke vet hvorledes den skal skrive til en annen side, men spesielt problematisk skulle det ikke være å fikse dette. Legg følgende i en VBS-fil: ' Start prosedyren og vis hva vi har kommet frem til MsgBox ExecuteSearch("http://www.storm.no/tv2/Default.aspx?utmx=310493&utmy=6540958&meter=0&sted=Stavanger") ' Følgende er funksjonen som utfører uthentelsen av informasjon Function ExecuteSearch(link) ' Lag referanse til analysator Set IE = CreateObject("InternetExplorer.Application") ' Ikke vis vindu IE.Visible = False ' Åpne siden som skal analyseres IE.navigate link ' Vent inntil lastingen av siden er ferdig Do While IE.Busy ' Vent i 10 millisekunder WScript.Sleep 10 Loop ' Vi må nå fremhente den tabellen hvilket inneholder den ønskede informasjonen Set htmlTable = IE.Document.getElementById("Table1") ' Søk etter de tabellelementene som inneholder det vi er på utskikk etter For Each child In htmlTable.firstChild.childNodes ' Fellesnevneren for tabellene vi skal hente, er at de har denne bakgrunnsfargen If child.Attributes.getNamedItem("bgcolor").nodeValue = "#efefef" Then ' Gå gjennom alle direkte underelementer For Each Cell In child.childNodes ' Legg til informasjon fra denne cellen sReturn = sReturn & ExtractInformation(Cell) & vbCrLf Next ' Lag ny linje sReturn = sReturn & vbCrLf End If Next ' Rydd opp Set IE = Nothing ' Returner resultat ExecuteSearch = sReturn End Function ' En underfunksjon som tar for seg oppgaven ved å hente ut den spesifikke informasjonen Function ExtractInformation(objNode) ' Hent det elementet vi behøver Set element = objNode.firstChild.firstChild.firstChild.firstChild ' Let inntil vi finner elementet med selve informasjonen For Each child In element.childNodes ' Dette blir i realiteten det andre elementet, ettersom det første ikke er av denne klassen If child.Attributes.getNamedItem("class").nodeValue = "parttext" Then ' Sett returverdien til dette elementes verdi ExtractInformation = child.firstChild.nodeValue ' Vi er så å si ferdige Exit For End If Next ' Inkluder òg siste element ExtractInformation = ExtractInformation & " - " & element.lastChild.firstChild.nodeValue End Function Forhåpentligvis skulle dette fungere. Dersom du vil teste for andre steder, må du endre linken i første linje til den respektive side som representerer dette stedet. Ja, jeg VET jeg benytter Internet Explorer i eksempelet (avatar => ironisk), men uheldigvis kan jeg ikke bero meg på Mozilla FireFox idet altfor få har dette installert (dessuten kan det nok by på problemer om jeg skulle forsøkt å kommunisere med denne applikasjonen via VBScript). Dere må således unnskylde - jeg hadde intet valg. Endret 24. mai 2005 av aadnk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå