Jag vill hämta nyheter ifrån en hemsida och spara i en databas. Om ni undrar om jag har tilltånd så har jag pratat med sidans ägare och fått tillåtelse att göra det.
För att sortera ut de olika nyheterna använder jag regexp. Tidigare har jag använt nästan exakt samma skript. Anledningen till att jag inte kan göra det nu är att inte alla nyheter innehåller en "länk för att läsa mer" som tidigare.
Tidigare hämtade jag alla rubriker, alla datum och alla länkar för sig. Men om en nyhet inte har någon länk så tilldelas den länken för nästkommande nyhet (om den har en länk).
Därför måste jag hämta en nyhet i taget och sedan använda regexp på den igen för att få ut de olika delarna. Men jar går hela tiden felet som ni kan se här: http://jok.nu/layout_05/test/nyheter/smof.asp
Raden som är i fetstil är den raden som servern klagar på. Snälla hjälp mig. jag blir galen!!
<%
Dim tSMOFNews(4)
Dim tSMOFNewsDate(4)
Dim tSMOFNewsHeader(4)
Dim tSMOFNewsLink(4)
' Skapar ett XMLHttp objekt för att hämta SMOF nyheterna från internet
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
' Sidan som ska hämtas
objHTTP.Open "GET", "http://www.orientering.se/smaland", False
' Hämtar sidan
objHTTP.Send
'Omvandlar sidan från binär till text så att å, ä och ö syns
strHTML = BinToText(objHTTP.responseBody,35000)
' Tömmer XMLHttp objektet vi skapade
Set objHTTP = Nothing
' Hämtar en Nyhet i taget för att sedan dela upp den i olika delar
Set objRegExp = New regexp
' Anger att den ska fortsätta även om den hittat en
objRegExp.Global = true
' Anger att det inte är någon skillnad på stora och små bokstäver
objRegExp.IgnoreCase = true
' Skapar ett mönster som den ska söka efter. En .* anger allt
objRegExp.Pattern = "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""><tr><td><span class=""newslinkdate"">.*<br><br></td></tr></table>"
' Skapar en array av den hittade datan
[B]Set tSMOFNews = objRegExp.Execute(strHTML)[/B]
Set objRegExp = Nothing
For i = 0 To 4
' Skapar en RegExp för att plocka ut datumen på nyheterna
Set objRegExp = New regexp
' Anger att den ska fortsätta även om den hittat en
objRegExp.Global = true
' Anger att det inte är någon skillnad på stora och små bokstäver
objRegExp.IgnoreCase = true
' Skapar ett mönster som den ska söka efter. En .* anger allt
objRegExp.Pattern = "<span class=""newslinkdate"">.*</span><br><span class=""newsheader"">"
' Skapar en array av den hittade datan
Set tSMOFNewsDate = objRegExp.Execute(tSMOFNews(i))
Set objRegExp = Nothing
' Skapar en RegExp för att plocka ut rubriken på nyheterna
Set objRegExp = New regexp
' Anger att den ska fortsätta även om den hittat en
objRegExp.Global = true
' Anger att det inte är någon skillnad på stora och små bokstäver
objRegExp.IgnoreCase = true
' Skapar ett mönster som den ska söka efter. En .* anger allt
objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
' Skapar en array av den hittade datan
Set tSMOFNewsHeader = objRegExp.Execute(tSMOFNews(i))
Set objRegExp = Nothing
' Skapar en RegExp för att plocka ut länkarna till nyheterna
Set objRegExp = New regexp
' Anger att den ska fortsätta även om den hittat en
objRegExp.Global = true
' Anger att det inte är någon skillnad på stora och små bokstäver
objRegExp.IgnoreCase = true
' Skapar ett mönster som den ska söka efter. En .* anger allt
objRegExp.Pattern = "<a href=.*>Läs mer</a>"
' Skapar en array av den hittade datan
Set tSMOFNewsLink = objRegExp.Execute(tSMOFNews(i))
Set objRegExp = Nothing
Next
%>