Este artículo presenta principalmente a Asp para usar Microsoft.XMLHTTP para rastrear contenido web (sin caracteres confusos) y filtrar el contenido requerido.
Asp usa Microsoft.XMLHTTP para rastrear contenido web (sin código confuso) y filtrar el contenido requerido
Código fuente de muestra:
Copie el código de código de la siguiente manera:
<%
Dim xmlUrl,http,strHTML,strBody
xmlUrl = Solicitud.QueryString("u")
REM lee la fuente XML de forma asincrónica
Establecer http = servidor.CreateObject("Microsoft.XMLHTTP")
http.Abrir "POST",xmlUrl,falso
http.setrequestheader "Agente de usuario", "Mozilla/4.0"
http.setrequestheader "Conexión", "Mantener vivo"
http.setRequestHeader "Tipo de contenido", "aplicación/x-www-form-urlencoded"
http.Enviar()
strHTML = BytesToBstr(http.ResponseBody)
establecer http = nada
REM captura el contenido principal
strBody = GetBody(strHTML,"<divDiv_newsContentc""cnt"">","</div>",0,0)
strBody =Reemplazar(strBody,"(Este artículo se publicó por primera vez en ","")
strBody =Reemplazar(strBody,"Wealth Power Network</a>, indique la fuente para la reimpresión.)","")
strBody =Replace(strBody,"Este artículo se publicó por primera vez en, indique la fuente al reimprimir.)","")
strBody =Reemplazar(strBody,"Red de energía y riqueza</a>:","")
strBody =Reemplazar(strBody,"Este artículo se publicó por primera vez en","")
Respuesta.Escribir RegRemoveHref(strBody)
REM obtiene el HTML de la respuesta URL correspondiente
Función BytesToBstr(cuerpo)
corriente de objetos tenue
establecer objstream = Server.CreateObject("adodb.stream")
objstream.Tipo = 1
objstream.Modo =3
objstream.Abrir
objstream.Escribir cuerpo
objstream.Posición = 0
objstream.Tipo = 2
objstream.Charset = "UTF-8"
'Convierta la codificación UTF-8 predeterminada original a la codificación GB2312; de lo contrario, utilícela directamente
'XMLHTTP obtendrá un código confuso al llamar a una página web con caracteres chinos.
BytesToBstr = objstream.ReadText
objstream.Cerrar
establecer objstream = nada
Función final
REM utiliza expresiones regulares para capturar el contenido marcado dentro
Función GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
Si ConStr="$False$" o ConStr="" o IsNull(ConStr)=True O StartStr="" o IsNull(StartStr)=True O OverStr="" o IsNull(OverStr)=True Entonces
GetBody="$Falso$"
Función de salida
Terminar si
DimConStrTemp
Inicio oscuro, finalizado
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(InicioStr)
SobreStr=Lcase(SobreStr)
Inicio = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
Si Inicio<=0 entonces
GetBody="$Falso$"
Función de salida
Demás
Si IncluL=False entonces
Inicio=Inicio+LenB(InicioStr)
Terminar si
Terminar si
Over=InStrB(Inicio,ConStrTemp,OverStr,vbBinaryCompare)
Si supera <= 0 o supera <= iniciar, entonces
GetBody="$Falso$"
Función de salida
Demás
Si InclR = Verdadero entonces
Sobre=Sobre+LenB(SobreStr)
Terminar si
Terminar si
GetBody=MidB(ConStr,Inicio,Sobreinicio)
Función final
REM filtra un hipervínculo
Función RegRemoveHref(HTMLstr)
Establecer ra = Nueva expresión regular
ra.IgnoreCase = Verdadero
ra.Global = Verdadero
ra.Patrón = "<a[^>]+>(.+?)<//a>"
RegRemoveHref = Reemplazar(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com""","")
Función FINAL
%>
Las representaciones son las siguientes: