¿Programa de adquisición web? ¿Crawler web? ¿Programa Xiaolun? No importa cómo lo llame, este tipo de programa es ampliamente utilizado. Este artículo no discute los problemas de derechos de autor o morales causados por el uso de este programa, sino que solo discute la implementación de este programa en el entorno ASP+VBScript :-)
Conocimiento de preparación: además del conocimiento general de ASP+VBScript, también debe comprender los objetos XMLHTTP y los objetos de expresión regulares. El objeto XMLHTTP es el protagonista de Ajax, que actualmente está en el centro de atención; Y después de aprender expresiones regulares, ya no tiene que preocuparse por lidiar con cuerdas complejas.
El dispositivo Regex es muy útil al escribir y depurar expresiones regulares.
Tabla de contenido
Rastrear una página web remota y guardarla localmente
Mejora: manejar el código confuso
Descargar imágenes (y otros archivos) de páginas web remotas al mismo tiempo
Mejorado: Detección de URL reales
Mejora: evite descargas repetidas
Ejemplos prácticos (tomando **** como ejemplo)
Página de la lista de análisis
Consejos de la página de contenido
Analizar la página anterior, la página siguiente en la página de contenido
Tema avanzado: conversión UTF-8 y GB2312
Temas más avanzados: rastreando después del inicio de sesión, falsificación del cliente
Los procedimientos de recolección que tiene
Enlace original: http://gwx.showus.net/blog/article.asp?id=229
1. Rastrear una página web remota y guárdela en local
'Para la depuración, los resultados intermedios se verificarán varias veces más tarde
Dimindebug: endebug = verdadero
Subd (str)
Ifindebug = falsethenexitsub
Respuesta.Write ("<DivStyle = 'Color:#003399; Border: Solid1px#003399; fondo:#eef7ff; margen: 1px; font-size: 12px; padding: 4px;'>")
Response.Write (Str & "</div>")
Respuesta.flush ()
Endsub
'Proceso: save2file
'Función: Guardar texto o transmisión de byte como un archivo
'Parámetro: Diseño para guardar contenido
'Sfile se guarda en un archivo, como "archivos/abc.htm"
'¿Es btext un texto o no
'Escribir ¿sobrescribe el archivo existente?
Subsave2File (Scontent, Sfile, Btext, BoverWrite)
Calld ("save2file:"+sfile+"*si text:" & btext)
Dimsaveoption, typeoption
If (boverwrite = true) thensaveOption = 2elSeseVeOption = 1
If (btext = true) thentypeOption = 2elSetypeOption = 1
Setads = server.createObject ("ADODB.Stream")
Ronca
.Type = typeOption
.Abierto
If (btext = true) entonces.writeTextScontentelse.WritesContent