Red de conocimiento informático - Consumibles informáticos - ¡Puntuación alta! Buscando expertos para recopilar código fuente o ideas de programación para información de sitios web

¡Puntuación alta! Buscando expertos para recopilar código fuente o ideas de programación para información de sitios web

Idea:

Colección RSS

Algoritmo similar

Agrupación

Clasificación

(1) Principio

El programa ladrón en realidad llama a páginas web en otros sitios web a través del componente XMLHTTP en XML. Por ejemplo, muchos de los programas ladrones de noticias llaman a las páginas web de noticias de Sina, reemplazan el HTML que contienen y también filtran anuncios. Las ventajas de utilizar el programa Thief son: no es necesario mantener el sitio web, porque los datos del programa Thief provienen de otros sitios web y se actualizarán a medida que se actualice el sitio web, lo que generalmente puede ahorrar recursos del servidor. El programa ladrón solo tiene unos pocos archivos y todo el contenido web proviene de otros sitios web. Las desventajas son: inestabilidad: si el sitio web de destino falla, el programa también fallará, y si el sitio web de destino se actualiza y mantiene, la velocidad del programa ladrón también deberá modificarse en consecuencia, porque es una llamada remota; la velocidad es tan rápida como leer datos en el servidor local. Definitivamente es más lento que eso.

(2) Ejemplos

El siguiente es un fragmento de código:

La siguiente es una breve explicación de la aplicación de XMLHTTP en ASP

<

'Funciones más utilizadas

'1. Ingrese la dirección URL de la página web de destino y el valor de retorno getHTTPPage es el código html de la página web de destino

>función getHTTPPage(url)

dim Http

set Http=server.createobject("MSXML2.XMLHTTP")

Http.open "GET", url , false

Http.send()

si Http.readystate〈〉4 entonces

salir de la función

finalizar si

getHTTPPage=bytesToBSTR(Http .responseBody, "GB2312")

establece el contenido html de /earticle/

Dim Url, Html

Url ="/earticle/"

Html = getHTTPPage(Url)

Response.write Html

〉Tutorial de introducción a ASP Thief.... Se adjunta el Código fuente de QQ Weather Thief

Es un poco difícil ser un buen ladrón: P, también puedes ser un "ladrón" usando componentes XMLHTTP de manera flexible

El "ladrón" mencionado aquí se refiere al uso de componentes XMLHTTP en XML en ASP. Proporciona funciones poderosas para capturar datos (imágenes, páginas web y otros archivos) desde sitios web remotos a la computadora local, y luego los muestra en la página o los almacena en una base de datos después de varios tratamiento. Puedes utilizar este tipo de programa ladrón para completar algunas tareas que antes parecían completamente imposibles, como robar y cambiar las páginas de un determinado sitio web y convertirlas en tus propias páginas, o guardar algunos datos (artículos, imágenes) de un determinado sitio web para ser utilizado en la base de datos local. Las ventajas del "ladrón" son: no es necesario mantener el sitio web, porque los datos del programa ladrón provienen de otros sitios web y se actualizarán a medida que se actualice el sitio web, lo que puede ahorrar muchos recursos del servidor, generalmente los recursos del servidor; El programa ladrón solo tiene unos pocos archivos y todo el contenido web. Todo de otros sitios web. Las desventajas son: inestabilidad: si el sitio web de destino falla, el programa también fallará, y si el sitio web de destino se actualiza y mantiene, la velocidad del programa ladrón también deberá modificarse en consecuencia, porque es una llamada remota; la velocidad es tan rápida como leer datos en el servidor local. Definitivamente es más lento que eso.

¿Qué te parece? Suena increíble, ¿verdad? ¡Comencemos ahora a aprender algunos conocimientos introductorios sobre el programa "ladrón"!

Estudiemos algo más simple, el programa de pronóstico del tiempo en el sitio web de QQ

Dirección de demostración del programa: /weather.asp

Descarga del código fuente:/weather.rar

El código es el siguiente:

El siguiente es el fragmento de código:

En caso de error, reanudar a continuación

Server.ScriptTimeOut=9999999

Función getHTTPPage(Ruta)

t = GetBody(Ruta)

getHTTPPage=BytesToBstr(t, "GB2312")

Finalizar función' Primero, realice algunas configuraciones de inicialización para el programa ladrón. La función del código anterior es ignorar todos los errores no fatales y establecer el tiempo de espera de ejecución del programa ladrón en un tiempo muy largo (. esto no ocurrirá Error de tiempo de espera de ejecución), convierta la codificación UTF-8 predeterminada original a la codificación GB2312; de lo contrario, el uso directo del componente XMLHTTP para llamar a una página web con caracteres chinos dará como resultado un código confuso.

El siguiente es el fragmento de código:

Función GetBody(url)

en caso de error, reanudar a continuación

Establecer recuperación = CreateObject(" Microsoft. XMLHTTP")

Con recuperación

.Abrir "Get", url, False, "", ""

.Enviar

GetBody = .ResponseBody

Finalizar con

Establecer recuperación = Nada

Finalizar función

'Luego llame al componente XMLHTTP para crear un objeto y realizar la configuración de inicialización.

Función BytesToBstr(body, Cset)

dim objstream

set objstream = Server.CreateObject("adodb.stream")

objstream.Type = 1

objstream.Mode =3

objstream.Open

objstream.Write cuerpo

objstream.Position = 0

objstream.Type = 2

objstream.Charset = Cset

BytesToBstr = objstream.ReadText

objstream.Close

establecer objstream = nada

Función final

Función Newstring(wstr, strng)

Newstring=Instr(lcase(wstr), lcase(strng) )

if Newstring〈=0 then Newstring=Len(wstr)

Función final

'Para procesar los datos capturados, debe llamar a adodb. componente de transmisión y realice la configuración inicial. 〉

'La siguiente es la parte de visualización de la página

Dim wstr, str, url, start, over, city

' Defina algunas variables que deben usarse

ciudad = Request.QueryString("id")

'La variable ID devuelta por el programa (es decir, la ciudad seleccionada por el usuario) se asigna a id

p>

url="/cgi-bin/news_qq_search?city="amp;cityamp;""

'Aquí se establece la dirección de la página que necesita para ser rastreado Por supuesto, también puede especificar directamente una dirección en lugar de usar variables

wstr=getHTTPPage(url) 'El siguiente es un fragmento de código:

Obtener todos los datos. de la página especificada

start=Newstring(wstr," ")

'Aquí se establece el encabezado de los datos que deben procesarse. Esta variable debe configurarse de acuerdo con diferentes situaciones. El contenido específico se puede determinar viendo el código fuente de la página que debe rastrearse. Debido a que necesitamos rastrear toda la página en este programa, lo configuramos para que rastree todas las páginas. Tenga en cuenta que el contenido establecido debe ser exclusivo del contenido de la página y no puede repetirse.

over=Newstring(wstr, " ")

' El inicio corresponde al final de los datos que deben procesarse. De manera similar, el contenido establecido debe ser único en la página. .

body=mid(wstr, start, over-start)

'Establecer el rango de la página mostrada

'Ahora es el momento de usar la magia de moviendo el mundo. Al reemplazar, puede reemplazar los caracteres especificados en los datos con algunos caracteres.

cuerpo = reemplazar(cuerpo, "skin1", "Pronóstico del tiempo")

cuerpo = reemplazar(cuerpo, "/cgi-bin/news_qq_search?city", "tianqi.asp ?id")

'El trabajo de reemplazo se ha completado en este programa. Si hay otras necesidades, puede continuar realizando operaciones de reemplazo similares.

response.write body

>Después de reemplazar el contenido que necesita modificarse, el contenido modificado se puede mostrar en la página. Este es el final del programa

Uso y resultados del programa: elimine la parte de descripción del código anterior y guárdelo como tianqi.asp, cárguelo en un espacio que admita ASP y XML y ejecútelo en el navegador. Puede realizar un mayor embellecimiento de la interfaz u optimización del programa basándose en este programa.

Las anteriores son solo algunas aplicaciones básicas de los componentes XMLHTTP. De hecho, también puede realizar muchas funciones, como guardar imágenes remotas en el servidor local y utilizar el componente adodb.stream para transferir los datos adquiridos. Guardar en la base de datos. Thief tiene una amplia gama de funciones y usos. ¡Pero no puedes usarlo para hacer cosas ilegales!

Es posible que algunas personas todavía quieran preguntar: ¿este programa "ladrón" es solo una patente de ASP? No, PHP puede lograr el mismo efecto a través de la función fopen. Debido a las diversas características del propio PHP, el programa ladrón escrito tiene ventajas obvias en tamaño y eficiencia de ejecución en comparación con ASP. No los explico uno por uno.