Este artigo apresenta principalmente o Asp para usar Microsoft.XMLHTTP para rastrear conteúdo da web (sem caracteres ilegíveis) e filtrar o conteúdo necessário
Asp usa Microsoft.XMLHTTP para rastrear o conteúdo da página da web (sem código ilegível) e filtrar o conteúdo necessário
Exemplo de código-fonte:
Copie o código do código da seguinte forma:
<%
Escurecer xmlUrl,http,strHTML,strBody
xmlUrl = Request.QueryString("u")
REM lê fonte XML de forma assíncrona
Definir http = server.CreateObject("Microsoft.XMLHTTP")
http.Abrir "POST",xmlUrl,falso
http.setrequestheader "User-Agent", "Mozilla/4.0"
http.setrequestheader "Conexão", "Keep-Alive"
http.setRequestHeader "Tipo de conteúdo", "aplicativo/x-www-form-urlencoded"
http.Enviar()
strHTML = BytesToBstr(http.ResponseBody)
definir http = nada
REM captura o conteúdo principal
strBody = GetBody(strHTML,"<divDiv_newsContentc""cnt"">","</div>",0,0)
strBody =Replace(strBody,"(Este artigo foi publicado pela primeira vez em ","")
strBody =Replace(strBody,"Wealth Power Network</a>, indique a fonte para reimpressão.)","")
strBody =Replace(strBody,"Este artigo foi publicado pela primeira vez em, por favor indique a fonte ao reimprimir.)","")
strBody =Replace(strBody,"Rede de Poder de Riqueza</a>:","")
strBody =Replace(strBody,"Este artigo foi publicado pela primeira vez em","")
Response.Write RegRemoveHref(strBody)
REM obtém o HTML da resposta do URL correspondente
Função BytesToBstr(corpo)
escurecer objstream
definir objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Modo =3
objstream.Open
objstream.Escrever corpo
objstream.Posição = 0
objstream.Type = 2
objstream.Charset = "UTF-8"
'Converta a codificação UTF-8 padrão original para a codificação GB2312, caso contrário, use-a diretamente
'XMLHTTP obterá código distorcido ao chamar uma página da web com caracteres chineses.
BytesToBstr = objstream.ReadText
objstream.Fechar
definir objstream = nada
Função final
REM usa expressões regulares para capturar o conteúdo marcado em
Função GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
Se ConStr="$False$" ou ConStr="" ou IsNull(ConStr)=True Or StartStr="" ou IsNull(StartStr)=True Or OverStr="" ou IsNull(OverStr)=True Então
GetBody="$Falso$"
Função de saída
Terminar se
DimConStrTemp
Dim Início, Fim
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
Iniciar = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
Se Iniciar<=0 então
GetBody="$Falso$"
Função de saída
Outro
Se IncluL=Falso então
Iniciar=Iniciar+LenB(StartStr)
Terminar se
Terminar se
Over=InStrB(Iniciar,ConStrTemp,OverStr,vbBinaryCompare)
Se Over<=0 ou Over<=Iniciar então
GetBody="$Falso$"
Função de saída
Outro
Se InclR = Verdadeiro então
Sobre=Sobre+LenB(OverStr)
Terminar se
Terminar se
GetBody=MidB(ConStr,Início,Over-Início)
Função final
REM filtra um hiperlink
Função RegRemoveHref(HTMLstr)
Definir ra = Novo RegExp
ra.IgnoreCase = Verdadeiro
ra.Global = Verdadeiro
ra.Pattern = "<a[^>]+>(.+?)</a>"
RegRemoveHref = Substituir(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com""","")
Função FIM
%>
As renderizações são as seguintes: