Avatar billede bobbedude Nybegynder
08. januar 2002 - 19:17 Der er 3 kommentarer og
1 løsning

ASPHTTP

lige nu kan jeg vise overskrifterne fra cnet. Men det er kun overskrifterne jeg ville gerne have lidt af under teksten med også se her.
http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005

og hvordan kan man nøjes med at vise eks. 10 overskrifter ??

Scriptet er her:

<%
Sub GetTodaysNews()
    Set objHttp = Server.CreateObject(\"AspHTTP.Conn\")
    objHttp.Url = \"http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005\"
    strPage = objHttp.GetURL
    dim news(50)
    I = 0
    pos = 1
    Do
        pos = InStr(pos,strPage,\"<span class=\"\"f3\"\">\")
        If pos = 0 Then Exit Do
        pos = InStr(pos,strPage,\"<a\")
        If pos = 0 Then Exit Do
        endpos = InStr(pos+1,strPage,\"</a>\")
        If endpos = 0 Then Exit Do
        If endpos-pos < 110 Then    \' don\'t add the long descriptions. 110 max
            news(I) = \"<a target=\"\"_blank\"\" HREF=\"\"http://news.cnet.com/\" & mid(strPage,pos+10,endpos-pos-6)
            I = I + 1
        End If
    Loop
    Application(\"NewsDate\") = date
    Application(\"NewsHeadlines\") = news
End Sub

\'*** you can get a fresh copy of the news whenever you want.
\'*** just modify this IF statement
If Application(\"NewsDate\") <> date() Then
    Application.Lock
    GetTodaysNews   
    Application.UnLock
End If
%>

Her er scriptet i action http://the-crawler.ath.cx/cnet.asp
Avatar billede tmceu Praktikant
09. januar 2002 - 00:46 #1
M.h.t. kun at vise 10, kan du tilrette din do-loop en smule

counter = 1

do while counter <= 10
- eksisterende kode -
counter = counter + 1
loop

M.h.t. at få lidt undertekst med, er du nødt til at \"sakse\" den ud i stil med det du allerede gør, baseret på den <BR> tag der kommer umiddelbart efter overskriften i koden.

Det giver det bare problemer lige så snart webmaster hos CNET beslutter sig for at lave siden om :-)

Jeg har selv været inde i en lignende problemstilling fornyligt, for en kunde i USA, der ønskede at \"klippe\" annoncer ud af div. avisers websites. Og der er ingen nem løsning når det handler om dynamisk indhold.
Avatar billede dr-kermit Nybegynder
09. januar 2002 - 09:15 #2
Du kan faktisk gøre det sådan her, du har jo allerede en counter så hvorfor ikke bruge den ;)

Jeg har ændret din DO  til en DO WHILE og redimmet dit NEWS array til blot 9.



<%
Sub GetTodaysNews()
    Set objHttp = Server.CreateObject(\"AspHTTP.Conn\")
    objHttp.Url = \"http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005\"
    strPage = objHttp.GetURL
    dim news(9)
    I = 0
    pos = 1
    Do While i < 9
        pos = InStr(pos,strPage,\"<span class=\"\"f3\"\">\")
        If pos = 0 Then Exit Do
        pos = InStr(pos,strPage,\"<a\")
        If pos = 0 Then Exit Do
        endpos = InStr(pos+1,strPage,\"</a>\")
        If endpos = 0 Then Exit Do
        If endpos-pos < 110 Then    \' don\'t add the long descriptions. 110 max
            news(I) = \"<a target=\"\"_blank\"\" HREF=\"\"http://news.cnet.com/\" & mid(strPage,pos+10,endpos-pos-6)
            I = I + 1
        End If
    Loop
    Application(\"NewsDate\") = date
    Application(\"NewsHeadlines\") = news
End Sub

\'*** you can get a fresh copy of the news whenever you want.
\'*** just modify this IF statement
If Application(\"NewsDate\") <> date() Then
    Application.Lock
    GetTodaysNews   
    Application.UnLock
End If
%>


Mvh Kenneth Nielsen
Avatar billede bobbedude Nybegynder
09. januar 2002 - 09:30 #3
dr-kermit  >> det har ikke nogen effekt den viser bare det samme :ø(
Avatar billede bobbedude Nybegynder
13. januar 2002 - 16:26 #4
luk
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