Avatar billede jesper2003 Nybegynder
22. juli 2006 - 15:29 Der er 36 kommentarer og
2 løsninger

Hente text fra en side

Hej folkens er ved at lave et lille program der skal kunne hente noget text fra en hjemmeside eks http://side/news.asp eller noget andet.. Har ledt lidt rundt her på siden men uden det store held.
Avatar billede arne_v Ekspert
22. juli 2006 - 16:00 #1
Dim req As HttpWebRequest = CType(WebRequest.Create(url, HttpWebRequest)
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
            Dim html As String = sr.ReadToEnd
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:11 #2
Okay.. Men forstår ikk så meget af den kode.. Hvordan virker den
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:18 #3
Får også disse fejl

Error    2    Name 'req' is not declared.    C:\Documents and Settings\Guffe\Dokumenter\Visual Studio 2005\Projects\Test\Test\Form3.vb    11    45    Test
Error    1    Syntax error in cast operator; two arguments separated by comma are required.    C:\Documents and Settings\Guffe\Dokumenter\Visual Studio 2005\Projects\Test\Test\Form3.vb    10    80    Test
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:19 #4
Error 2: Name 'req' is not declared.
Error 1: Syntax error in cast operator; two arguments separated by comma are required.

Lidt nemmere at læse
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:22 #5
Også vidt jeg kan se kan din kode ikke sætte teksten over i eks et label eller noget andet
Avatar billede nielle Nybegynder
22. juli 2006 - 16:25 #6
Arne glemter bare en slut-) i farten:

Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:29 #7
Nu siger den
Error 1:Name 'url' is not declared.
Avatar billede nielle Nybegynder
22. juli 2006 - 16:31 #8
url skal indeholde adressen på den hjemmeside du ønsker at hente fra.

Dim url As String = 'http://side/news.asp'
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:33 #9
FIk jeg lige selv rettet

        Dim req As HttpWebRequest = CType(WebRequest.Create("http://c4.guf4you.dk/program/clanstuf/clanstuf_2.0.asp"), HttpWebRequest)
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
        Dim html As String = sr.ReadToEnd

    End Sub

Men hvordan får jeg så texten ned i en label
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:35 #10
Okay så ser det sådan ud

        Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
        Dim html As String = sr.ReadToEnd
        Dim url As String = 'http://side/news.asp'

    End Sub

Men så får jeg

Error    2    Expression expected.Name 'url' is not declared.
Error    1    Name 'url' is not declared.
Avatar billede nielle Nybegynder
22. juli 2006 - 16:35 #11
Teksten er bagefter at finde i variablen html - den overføre du bare til din label.
Avatar billede nielle Nybegynder
22. juli 2006 - 16:36 #12
Du skal altså initialisere din url-variabel før at du bruger dem.

        Dim url As String = "http://side/news.asp"
        Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
        Dim html As String = sr.ReadToEnd
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:37 #13
Okay tak.. Men hvordan laver man det med label? Er ikk så god til VB.NET endnu..
Avatar billede nielle Nybegynder
22. juli 2006 - 16:38 #14
Hvad er navnet på din label?
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:39 #15
Bare label1.. Ka jeg altid ændre på selv
Avatar billede nielle Nybegynder
22. juli 2006 - 16:41 #16
Så er det:

label1.Text = html
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:45 #17
Virker fint fra en txt fil men vis det eks er en asp side eller noget så tager den hele html koden med også.. Kan man få den til at lade være med det? Eller skal jeg bruge en txt fil så
Avatar billede nielle Nybegynder
22. juli 2006 - 16:51 #18
Koden henter *alt* det der er på siden - når det er en side fra Internettet så betyder det sædvanligvis at der er en masse HTML-kode på den. Det er dog ikke sikkert, man kan jo sagtens lægge en txt-fil på nettet.
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 16:56 #19
Okay.. Synes bare jeg har læst et sted at det kan lade sig gøre bare at hente texten fra en side..
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 17:04 #20
Måske ved Arne noget om det?
Avatar billede nielle Nybegynder
22. juli 2006 - 17:06 #21
Det afhænger jo fuldstændig af hvad du præcist mener med at "hente teksten fra en side".
Avatar billede arne_v Ekspert
22. juli 2006 - 17:18 #22
du kan strippe alle HTML tags med noget regex
Avatar billede jesper2003 Nybegynder
22. juli 2006 - 17:29 #23
Okay hvordan laver jeg det?
Avatar billede arne_v Ekspert
22. juli 2006 - 20:10 #24
Dim txt = Regex.Replace(html, "<[^>]*>", "", RegexOptions.Singleline)
Avatar billede jesper2003 Nybegynder
25. juli 2006 - 14:07 #25
Okay vil kigge på det når jeg kommer hjem.. Er i Sverige lige nu nemlig
Avatar billede nielle Nybegynder
15. august 2006 - 11:35 #26
Er du kommet videre ned denne?
Avatar billede jesper2003 Nybegynder
15. august 2006 - 14:40 #27
Ja undskyld glemte helt denne tråd. Har desvære ikke tid til at kikke på det lige for tiden men det ser meget rigtig ud så dig og arne kan lide ligge et svar
Avatar billede arne_v Ekspert
15. august 2006 - 14:50 #28
.
Avatar billede nielle Nybegynder
15. august 2006 - 17:29 #29
Der er nu ingen grund til at lukke før at du har afprøvet om det løser dit problem.

og et svar :^)
Avatar billede jesper2003 Nybegynder
15. august 2006 - 19:16 #30
Kikkede lige hurtig på det men hvor skal jeg sætte den ind i min kode?

            Dim url As String = "Din_Adresse_Her"
            Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
            Dim html As String = sr.ReadToEnd
            Online_Offline.Text = html
Avatar billede nielle Nybegynder
15. august 2006 - 20:00 #31
Dim url As String = "Din_Adresse_Her"
            Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream)
            Dim html As String = sr.ReadToEnd
            Online_Offline.Text = Regex.Replace(html, "<[^>]*>", "", RegexOptions.Singleline)
Avatar billede jesper2003 Nybegynder
16. august 2006 - 14:38 #32
Det var også det jeg  næsten kom frem til men får stadig denne fejl

Error    1    Name 'Regex' is not declared.    I:\C4\C4-Goa\C4-Goa\Test_Beta.vb    15    23    GoA
Error    2    Name 'RegexOptions' is not declared.    I:\C4\C4-Goa\C4-Goa\Test_Beta.vb    15    58    GoA
Avatar billede nielle Nybegynder
16. august 2006 - 14:42 #33
Du skal have en:

Imports System.Text.RegularExpressions

- i toppen af din side
Avatar billede jesper2003 Nybegynder
16. august 2006 - 14:56 #34
Arr ja tak.. Det virker fint men er der ikke en måde så den også kan læse Å - Æ - Ø ?? Det kan den ikke finde ud af
Avatar billede arne_v Ekspert
16. august 2006 - 15:55 #35
Dim sr As StreamReader = New StreamReader(resp.GetResponseStream, Encoding.Default)

eller

Dim sr As StreamReader = New StreamReader(resp.GetResponseStream, Encoding.UTF8)
Avatar billede jesper2003 Nybegynder
17. august 2006 - 15:27 #36
Skal jeg ikke ha en eller anden Imports System. et eller andet? Får denne fejl
Error    1    Name 'Encoding' is not declared.    I:\C4\C4-Goa\C4-Goa\Test_Beta.vb    14    75    GoA
Avatar billede arne_v Ekspert
17. august 2006 - 15:43 #37
System.Text

hvsi jeg husker rigtigt
Avatar billede jesper2003 Nybegynder
17. august 2006 - 16:22 #38
Takker mange gange
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester