Avatar billede thomas_b Nybegynder
25. juli 2007 - 00:15 Der er 12 kommentarer og
1 løsning

Søge på indhold ?

Hej...

Kender i til funktioner:

1. hvor man kan søge om der er en special sætning på en ekstern hjemmeside... f.eks. "copyright by mig" - og hvis den ikke kan finde den sætning på den pågældene side skriver den en JMail...

2. Søge efter bestemt indhold på eksterne side og "stjæle" dem over på ens ejen side...?


2 spørgsmål rigitge 200 point
Avatar billede fennec Nybegynder
25. juli 2007 - 08:15 #1
Du skal have gang i en HTTP request:
url = "http://domæne.dk/side.asp"
set Req = Server.CreateObject("Msxml2.ServerXMLHTTP")
Req.open "GET", url, False
fXmlReq.Send
http = Req.responseText

Så har du hele HTTP koden, og kan begynde at undersøge den:

if inStr(http,"copyright by mig") then
  response.write "Koden indeholder 'copyright by mig'"
end if
Avatar billede fennec Nybegynder
25. juli 2007 - 08:18 #2
Ved ikke helt hvad du mener med punkt 2. Om ikke andet er det ulovlig at stjæle kode fra andre.
Avatar billede thomas_b Nybegynder
25. juli 2007 - 09:22 #3
Hvis man ved f.eks. at en hjemmeside har den samme side hele tiden men de bliver ved med at ændre priser... kan man så ikke lave en program der går ind og kigger koden igennem og hvor der står pris... der tager den lige prisen og føre over på min side... f.eks. til access ?
Avatar billede fennec Nybegynder
25. juli 2007 - 10:16 #4
Det kan du sagtens. Hele HTML koden er jo i Req.responseText, men jeg kan ikke bare lave en kode til dig, som gør det, uden at kende target siden. Priserne kan jo stå i en div, span, td, input... Samt der kan være andre div, span, td input som ikke skal medtages fordi de indeholder andre oplysninger.
Avatar billede thomas_b Nybegynder
25. juli 2007 - 11:16 #5
Har du en lille hurtig kode til at finde en special sætning (eller ord) - og så skal den finde den efterfølgende sætning (så man f.eks. kan vælge den skal tage de 3 næste ord) ??
Avatar billede fennec Nybegynder
25. juli 2007 - 11:24 #6
Noget i denne stil:

startIndex = inStr(html,"findMig")+7 '<-- +7 fordi findMig er 7 tegn.
txtLengh = 5 '<-- Hent 5 tegn
response.write mid(html,startIndex,txtLengh)
Avatar billede thomas_b Nybegynder
25. juli 2007 - 11:41 #7
Kigger lige på om det kan lade sig gøre...
Vender lige tilbage...
Avatar billede thomas_b Nybegynder
26. juli 2007 - 16:14 #8
kan man gøre dette... men i stedet for antal tegn... så antal ord ?
Avatar billede fennec Nybegynder
27. juli 2007 - 09:46 #9
Ja men det er mere besværlig. Noget i denne stil (utestet):

startIndex = inStr(html,"findMig")+7 '<-- +7 fordi findMig er 7 tegn.
txtLengh = 5 '<-- Hent 5 ord
tmpHTML = mid(html,startIndex)
tmpHTML = split(tmpHTML," ")
resultat = ""
for f=0 to ubound(tmpHTML)
  resultat = resultat & tmpHTML(f) &" "
  if f=txtLengh then exit for
next
response.write resultat
Avatar billede thomas_b Nybegynder
27. juli 2007 - 16:17 #10
Den tager kun de 5 første ord i selve HTML-koden...
Avatar billede thomas_b Nybegynder
09. august 2007 - 22:41 #11
Hej fennec...

Hvis du ville være interesseret i at hjælp på en anden tråd... hehe :)

http://www.eksperten.dk/spm/790297
Avatar billede fennec Nybegynder
13. august 2007 - 08:12 #12
.o) <-- One Eyed Jack
Avatar billede fennec Nybegynder
13. august 2007 - 13:01 #13
Så lige din anden kommentar...

Du kan fjerne alle HTML tags inden du henter de 5 første ord ud, med følgende kode:
Function RemoveHTML( strText )
    Dim RegEx
    Set RegEx = New RegExp
    RegEx.Pattern = "<[^>]*>"
    RegEx.Global = True
    strText = Replace(LCase(strText), "<br>", chr(10))
    RemoveHTML = RegEx.Replace(strText, "")
End Function

Taget herfra: http://www.eksperten.dk/spm/302158
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