Cómo hacer scraping con ASP clásico

Código ASP clásico

El scraping es una técnica utilizada en la informática para obtener información de manera automatizada desde internet. Consiste en la extracción de datos de una página web y su posterior análisis, lo que permite obtener información útil para diferentes fines, como el análisis de mercado, la investigación de competidores, el seguimiento de precios, entre otros. El scraping se realiza mediante programas y herramientas que acceden a los datos de una página web y los extraen de manera estructurada y organizada, lo que permite su posterior tratamiento y análisis. Esta técnica ha cobrado una gran importancia en la actualidad debido al aumento de la cantidad de información disponible en internet y la necesidad de procesarla de manera eficiente y rápida.

Código ASP clásico para scraping the URL externa

La función LoadThePage se encarga de cargar la página web en una variable de texto utilizando el protocolo HTTP GET y la biblioteca MSXML2.ServerXMLHTTP. La función GrabTheContent toma como entrada el texto cargado en la página web y busca un patrón de inicio y finalización en la página para extraer el contenido entre ellos. La función devuelve el contenido encontrado.

En el cuerpo del código se declara y se inicializa una variable de texto que contiene la dirección URL de la página que se va a hacer web scraping. Si la página se ha actualizado hace más de una hora, se carga la página web utilizando la función LoadThePage y se extrae el contenido utilizando la función GrabTheContent. El contenido extraído se almacena en una variable de aplicación para evitar cargar la página web innecesariamente en futuras solicitudes. Si la página se ha actualizado hace menos de una hora, se utiliza el contenido almacenado previamente. Finalmente, el contenido extraído se muestra en la página web utilizando la función Response.Write.


<%
FUNCTION LoadThePage(strPageText, strInputURL)
    Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
    objXMLHTTP.Open "GET", strInputURL, False
    objXMLHTTP.Send
    strPageText = objXMLHTTP.responseText
    Set objXMLHTTP = Nothing
End FUNCTION
FUNCTION GrabTheContent(strStart, strEnd)
    Dim strStartPos, strEndPos, strLength
    strStartPos = 0
    strEndPos = 0
    strLength = 0
    'Find the Start Position of the Search String
    strStartPos = instr(strPageText,strStart)
    'Starting from the Search String start position and call it the end position
    strEndPos = instr(strStartPos, strPageText, strEnd)
    'Compute the length of the string in between the start and end positions
    strLength = strEndPos - strStartPos
    'filter the content, use trim to eliminate leading and trailing spaces
    myContent = trim(mid(strPageText,strStartPos, len(strStart))) & "<br/>" & vbCRLF
    myContent = myContent & trim(mid(strPageText,strStartPos + len(strStart), StrLength - len(strStart))) & "<br/>" & vbCRLF
    GrabTheContent = myContent
End FUNCTION
'Declare the string used to hold the HTTP and the start/end strings
Dim strPageText, strStart, strEnd
'Declare and initialize the string used to hold the Input Page URL
Dim strInputURL
if DateDiff("h", Application("updated"), Now()) >=1 then
    strInputURL = "http://birdsinbackyards.net/species/Cacatua-roseicapilla"
    'Load the desired page into a string
    LoadThePage strPageText, strInputURL
    strHTML = GrabTheContent("<h5>Description</h5>","<h5>Similar species</h5>")
    Application.Lock
        Application("content") = strHTML
        Application("updated") = Now()
    Application.Unlock
end if
strHTML = Application("content")
response.write (strHTML)
%>





tags: asp, scraping web, MSXML2, ServerXMLHTTP, HTTP GET, parsing, extract content, lock, unlock, application object, caching, scraping con ASP clásico

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.