webForumDet fria alternativet

Ta reda på vad som går på tv just nu

ASP

27 svar · 1 570 visningar · startad av MoonCow

Medlem sedan juni 2001223 inlägg
Frågan#1

Tjenare! Det finns ju en massa siter som spray, passagen, tv.nu och så där man kan se vad som går på tv. Skulle man kunna med asp läsa ner htmlkoden och på nått sätt leta reda på det som går på tv och sedan skriva ut det?

Har läst nån stans om det hur man läser in htmlkoden från en site, så det vet jag går iaf... men minns inte hur.

Vet någon nått ställe där man kan läsa lite om det?

Medlem sedan nov. 20017 144 inlägg
#2

Sök på "XMLHTTP", det kanske skulle vara något. Hurvida lagligt det är får du fråga ngn annan om.

MVH Jesper

Medlem sedan nov. 20017 144 inlägg
#3

Eller varför inte bara klippa in en länk i en frame?
http://tvprogram.nu/cgi-tvprogram/tvfix.cgi?NU-tvms.htm
Eller ännu bättre, gör länkar.

MVH Jesper

Medlem sedan mars 20015 287 inlägg
#4

Du kan ju finslipa denna, posta gärna resultatet så blir till o med jag nöjd.

<%

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://tvprogram.nu/cgi-tvprogram/tvfix.cgi?NU-tvms.htm", False
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set RegEx = New RegExp
RegEx.Global = True

RegEx.Pattern = "end ad"
strHTML= RegEx.Replace(strHTML,( chr(253) ))
RegEx.Pattern = "palmpilot"
strHTML= RegEx.Replace(strHTML,( chr(254) ))
RegEx.Pattern = chr(253) & "[^" & chr(254) & "]*" & chr(254)
Set strOut = RegEx.execute(strHTML)

strHtml = strOut.Item(0)

Set RegEx = New RegExp
RegEx.Global = True

RegEx.pattern = "(\n)"
strHtml = RegEx.replace(strHtml, " ")

Set RegEx = Nothing

strHtml = Replace(strHtml,chr(253)," ")
strHtml = Replace(strHtml,chr(254)," ")

set r = new regexp
r.ignorecase = true
r.global = true
r.pattern = "(\<a.*?\<\/a\>)"

response.write (r.replace(strHtml,""))

%>
Medlem sedan dec. 1999707 inlägg
#5

Vad som jag tror kan vara lättare är om man använder sig av xslt för att transformera html-dokument till xml-data för att plocka ut den informationen som man vill ha.

Läste en artikel om det på http://www.devx.com/ för länge sen men jag hittar den dessvärre inte längre.

Medlem sedan juni 2001223 inlägg
#6

Jag pillar och pillar och tänkte, jag kan ju ta ut allt som är i size 4 och verdana i bold. Med denna koden...

<%

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://tvprogram.nu/cgi-tvprogram/tvfix.cgi?NU-tvms.htm", False
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<font face='Verdana, Helvetica, Arial' size='4'><b>[b].*[/b]</b></font>"
Set hittade = objRegExp.Execute(strHTML)

For each item in hittade
  Response.Write ""&item.Value&"<br>"
Next

%>

Men nu verkar problemet ligga i Regexpen...
.* är inte det för att hämta allt som ska finnas där emellan? antagligen inte... för som det är nu ger den mig inga svar... nån som vet hur det bör lyda?

Medlem sedan dec. 1999707 inlägg
#7

Tror du ska använda citattecken istället för apostrofer. Dvs:

objRegExp.Pattern = "<font face=""Verdana, Helvetica, Arial"" size=""4""><b>.*</b></font>"
Medlem sedan juni 2001223 inlägg
#8

njä... tror inte det är felet, funkade iaf inte. Kanske hela satsen som är fel?

Medlem sedan aug. 2001226 inlägg
#9
objRegExp.Pattern = "<font face=""Verdana, Helvetica, Arial"" size=""2""><b>.*</b></font>"

fungerar
men inte

objRegExp.Pattern = "<font face=""Verdana, Helvetica, Arial"" size=""4""><b>.*</b></font>"

Underligt...

Medlem sedan juni 2001223 inlägg
#10

pirro: d var det jävligaste... det gör det fan... *kliar sig hårt i skallen*

Medlem sedan juni 2001223 inlägg
#11

tihi.. titta vad jag lyckades med :)
http://www.geeloo.com/hbgvader.asp

Medlem sedan feb. 2001256 inlägg
#12

Annars kan du ju lägga en liten länk till denna i en popup...

http://tvprogram.nu/cgi-tvprogram/smalltv.cgi?NU-smalltvtvms.htm

Medlem sedan apr. 20007 588 inlägg
#13

Ursprungligen av toha **Vad som jag tror kan vara lättare är om man använder sig av xslt för att transformera html-dokument till xml-data för att plocka ut den informationen som man vill ha.

Läste en artikel om det på http://www.devx.com/ för länge sen men jag hittar den dessvärre inte längre.**

Jepp, det är helt klart snyggare.

Jag gjorde på så sätt i ett projekt där vi behövde parsa ut data från tusentals hierarkiskt ordnade webbsidor varje natt och det fungerade väldigt bra, i och med att all logik för utplockandet av data ligger i XSL-filer så är det lätt att ändra om HTML-sidan byter form.

Dock så måste HTML-koden "tvättas" ganska ordentligt för att bli valid XML. Vårt projekt var Javabaserat och vi använde en Javaport av en produkt som heter Tidy för att sköna rensningen, hur det funkar med XMLHTTP vet jag inte, har den någon inbyggd logik för att fixa till HTML-koden till XML? Annars kan man säkerligen använda Tidy i en COM-komponent som tar hand om att rensa upp HTML-datat.

Som sagt, skall man göra ett seriöst projekt som plockar ut mycket data från HTML-källor så är tohas förslag helt klart det snyggaste och mest flexibla sättet.

Medlem sedan aug. 20002 272 inlägg
#14

Ursprungligen av MoonCow tihi.. titta vad jag lyckades med :)
http://www.geeloo.com/hbgvader.asp

Avslöja gärna HUR du gjorde också...
Är säkert många som är intressearde av det.. ;)

Medlem sedan nov. 20017 144 inlägg
#15

Mooncow:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.

/addauser.asp, line 50

På din site!

MVH Jesper

Medlem sedan mars 20023 686 inlägg
#16

exakt. mooncow hur gjorde du?? Jag skulle vilja ha reda på om man kan få fram temeraturen i ESKILSUNA.

Medlem sedan juni 2001223 inlägg
#17

Ursprungligen av Jesper T Mooncow:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.

/addauser.asp, line 50

På din site!

MVH Jesper

Lika ställd som du... måste vara killen på webhotellet som plockat bort skrivrättigheter för mig mapp databsen ligger i. Blir så trött på han, aldrig stött på nån så inkompetent... suck... får väl ringa upp killen...

Ni som undrade hur jag gjorde, kod:

<%
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://vader.passagen.se/cgi-bin2/forecast_for_place.cgi?place=112083", False
' leta rätt på rätt länk till just din stad först och lägg in ovan... som det är nu är det hbg.
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = false
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<font face=""Verdana,Arial,Geneva"" size=""5"" color=""#000000"">.*&deg;C</font>"
Set grader = objRegExp.Execute(strHTML)

  Response.Write "Just nu är det "&grader&" i din stad...<br>"
%>
Medlem sedan dec. 2001423 inlägg
#18

Hmm

Får bara detta felmeddelande hela tiden när jag testar..

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment

/vader.asp, line 16

Och det är raden där jag skriver ut resultatet..

Response.Write "Just nu är det "&grader&" i din stad...<br>"

Medlem sedan mars 20023 686 inlägg
#19

Jag fick exakt samma felmeddelande.....

Medlem sedan maj 2000426 inlägg
#20

Jag får oxå samma felmsg :(
Hur skulle ett XMLHTTP-script se ut om jag skulle hämta TOP 5 av dessa nyheter, och lägga in dem på en extern sida?

http://www.alternativet.nu/index_22_left_innehall.asp

Jag vill ha rubriken, id och tiden då nyheten skrevs.

273 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)