Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   Se puede hacer esto en asp? (http://www.forosdelweb.com/f15/puede-hacer-esto-asp-220022/)

rrufo 28/07/2004 08:10

Se puede hacer esto en asp?
 
http://www.paginas-web.com.ar/cgi-bi...l?Mode=Agregar

le das una url y te da el titulo y la descripción.

mirando codigo llama una subrutina perl.
Se puede hacer esto en asp?

CreaTuSitio.com 28/07/2004 08:23

Si, con la funcion que he puesto mas abajo lees el contenido de la pagina y lo dejas en una cadena.
Luego tendrias que analizar la cadena con (con instr) extrayendo (con mid) lo que esta entre <TITLE> y </TITLE> para el titulo, y lo que esta en la propiedad content de <META name="Description" content="...">

Function GetHTML(strURL) as string
Dim objXMLHTTP, strReturn, strHTML
Set objXMLHTTP = SErver.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", strURL, False
objXMLHTTP.Send
strHTML = objXMLHTTP.responseText
Set objXMLHTTP = Nothing
return strHTML
End Function

rrufo 29/07/2004 01:41

gracias, por tu ayuda.

se puede obtener el titulo y la descripcion de una forma más limpia,

sin tener q utilizar funciones de tratamiento de cadenas?

no se existen fuciones Xml que faciliten el proceso?

rrufo 29/07/2004 04:10

Function GetText(strText, strStartTag, strEndTag)
dim intStart
intStart = instr(1, strText, strStartTag, vbtextcompare)
if intStart then
intStart = intStart + len(strStartTag)
intEnd = InStr(intStart + 1,
strText,
strEndTag,
vbtextcompare)
GetText = Mid(strText,
intStart + 1,
intEnd - intStart - 1)
else
GetText = " "
end if
End Function

rrufo 29/07/2004 04:49

Todo bien, lo unico es q la priemera funcion me pisa los acentos

CreaTuSitio.com 29/07/2004 09:42

Sobre lo primero, puedes usar algun parser, como este por ejemplo:
http://www.cimarronravine.com/products/ParseHTML/
lastimosamente es pago.
Es mas sencillo y barato es manejarte con cadenas.

Lo de los acentos tiene que ver con la codificacion... aqui se discute el problema y pegan algo de codigo:
http://dbforums.com/arch/195/2003/2/676676

rrufo 30/07/2004 02:52

he entradopara dar la solución,
lo unico q en algunos caso el tema va mut lento.

Function GetHTML(strURL)
Dim objXMLHTTP, strReturn, strHTML
Set objXMLHTTP = SErver.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", strURL, False
objXMLHTTP.setRequestHeader "Accept-Language", "sp"
objXMLHTTP.setRequestHeader "Pragma", "no-cache"
objXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objXMLHTTP.SetRequestHeader "Content-Type", "text/html"
objXMLHTTP.SetRequestHeader "charset", "iso-8859-1"
objXMLHTTP.Send
if objXMLHTTP.statusText="OK" then
body8209 = objXMLHTTP.responseBody
GetHTML = ""
For i = 0 to UBound(body8209)
GetHTML = GetHTML & chrw(ascw(chr(ascb(midb(body8209,i+1,1)))))
Next
else
Response.write "Error en página:" & objXMLHTTP.statustext
end if
Set objXMLHTTP = Nothing
End Function

Javiholcman 03/04/2005 13:16

Gracias Flaco!!!!
 
estuve buscando durante 3 dias como solucionar el tema de los acentos,
no te das una idea de lo que me sirvio esa funcion!!!!! mil gracias!!!


La zona horaria es GMT -6. Ahora son las 21:41.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.