Avatar billede aspbuilder Nybegynder
03. september 2003 - 17:05 Der er 9 kommentarer og
1 løsning

Finde bestemt indhold

Hej,

Jeg vil gerne hente noget bestemt data fra en HTML kildekode.
Det skal være noget ala preg_match som man bruger i PHP, men da jeg kan nada i PHP er det lidt svært. Kan man få noget der minder om preg_match i ASP?
Det skal være sådan at den kun finder den tekst som står mellem f.eks. <font class="header">TESKTEN SOM SKAL FINDES</font>.
Det er noget ala dette jeg ønsker http://www.eksperten.dk/spm/383836 se kommentaren 05/08-2003 13:34:54, men det skal bare være i ASP.

Håber i kan forstå mit spørgsmål.

Mvh Aspbuilder
Avatar billede netro Nybegynder
03. september 2003 - 17:12 #1
Set oServerXMLHTTPRequest = Server.CreateObject("Msxml2.ServerXMLHTTP")
URL = "http://www.eksperten.dk"
oServerXMLHTTPRequest.open "GET", URL, False
oServerXMLHTTPRequest.Send
Kildekode = oServerXMLHTTPRequest.ResponseText

Arr_Kilde1 = Split(Kildekode, "<font class=""header"">")
Arr_Kilde2 = Split(Arr_Kilde(1), "</font>")

Response.Write Arr_Kilde2(0)

Set oServerXMLHTTPRequest = Nothing
Avatar billede netro Nybegynder
03. september 2003 - 17:20 #2
Hvis du har adgang til ASPHTTP, kan du også gøre det således;

Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "http://www.eksperten.dk"
Kildekode = HTTPObj.GetURL
 
Arr_Kilde1 = Split(Kildekode, "<font class=""header"">")
Arr_Kilde2 = Split(Arr_Kilde(1), "</font>")

Response.Write Arr_Kilde2(0)

Set HttpObj = Nothing
Avatar billede aspbuilder Nybegynder
03. september 2003 - 17:22 #3
Det virker næsten, man kan se den bestemte tekst men baggrundsfarve, tabelfarve osv kommer også med.
Avatar billede netro Nybegynder
03. september 2003 - 17:27 #4
Response.Write Server.HTMLencode(Kildekode)
Avatar billede aspbuilder Nybegynder
03. september 2003 - 17:40 #5
Hvis jeg bruger denne kode så virker det ikke

Set oServerXMLHTTPRequest = Server.CreateObject("Msxml2.ServerXMLHTTP")
URL = "http://www.eksperten.dk"
oServerXMLHTTPRequest.open "GET", URL, False
oServerXMLHTTPRequest.Send
Kildekode = oServerXMLHTTPRequest.ResponseText

Arr_Kilde1 = Split(Kildekode, "<font class=""header"">")
Arr_Kilde2 = Split(Arr_Kilde(1), "</font>")

Response.Write Arr_Kilde2(0)

Set oServerXMLHTTPRequest = Nothing

Men hvis jeg ændrer den ene linie til
Arr_Kilde2 = Split(Kildekode, "</font>")
Så kommer teksten frem med tabelfarve osv.

og hvis jeg tilføjer Server.HTMLencode så linien bliver sådan
Response.Write Server.HTMLencode(Arr_Kilde2(0))
men så kommer alt html'en frem.

Hvad kan man gøre for at kun teksten kommer frem?
Avatar billede netro Nybegynder
03. september 2003 - 17:43 #6
Hvilken side vil du hente fra? Så kan jeg selv lige teste det.
Avatar billede aspbuilder Nybegynder
03. september 2003 - 17:46 #7
Siden er http://www.bilhuset.dk/default.asp?m=56&id=236411 og jeg vil gerne have hentet teksten BMW 318 i 1,9 118HK Sedan.

Bare rolig, jeg har fået lov til at hente fra deres side.
Avatar billede netro Nybegynder
03. september 2003 - 18:01 #8
Prøv dette:

Set oServerXMLHTTPRequest = Server.CreateObject("Msxml2.ServerXMLHTTP")
URL = "http://www.bilhuset.dk/default.asp?m=56&id=236411"
oServerXMLHTTPRequest.open "GET", URL, False
oServerXMLHTTPRequest.Send
Kildekode = oServerXMLHTTPRequest.ResponseText

Arr_Kilde1 = Split(Kildekode, "<td bgcolor=""#CCCCCC"" width=""340""><font face=""Verdana"" size=""1"">")
Arr_Kilde2 = Split(Arr_Kilde1(1), "</font>")

Response.Write Arr_Kilde2(0)

Set oServerXMLHTTPRequest = Nothing
Avatar billede aspbuilder Nybegynder
03. september 2003 - 18:02 #9
Yes :-)

Det virker, jeg takker mange gange :-)
Avatar billede netro Nybegynder
03. september 2003 - 18:03 #10
Velbekomme :)
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