Recentemente, tem sido tão popular que não gosto de coletar, mas estou muito interessado em pesquisar os princípios da coleção. Recebi funções comuns para coleção on -line, estudei e pratiquei -as na prática. O resultado foi bem -sucedido. Deixando de lado a questão da eficiência, o princípio da coleta não é complicado. Você pode inserir "aquisição" na barra de pesquisa para visualizar seus princípios. Aqui está um exemplo de coleção:
A cópia do código é a seguinte:
<%@Idioma = "vBScript" codePage = "65001"%>
<%Response.codePage = 65001%>
<%Response.Charset = "UTF-8"%>
<%Server.scriptTimeout = 99999999
Response.Expires = 0
Response.expiresabsolute = agora ()-1
Response.addheader "Pragma", "No-Cache"
Response.addheader "Controle de cache", "privado"
Response.CacheControl = "No-Cache"
%>
<%
'Declare a função para obter as informações de destino e implementá -las através de componentes XML.
FunctionGeturl (URL)
Setretrieval = server.createObject ("msxml2.xmlHttp")
Withretrieval
.Popear "Get", URL, Falso
.Enviar
If.status <> 200then 'determina se o documento foi analisado para fazer o cliente aceitar a mensagem de retorno
saída de saída
Endif
'Binário para cordas
Geturl = stb (.Responsebody)
ENDWITH
'Verifique as informações obtidas. Se o comprimento da informação for menor que 100, significa que a interceptação falhou
Função final
'Torne o binário para a corda, caso contrário, ilegal aparecerá!
FunctionStb (VIN)
ConstadTypetext = 2
DimbyTessTream, StringReturn
SetByTessTream = server.createObject ("adodb.stream")
WithbytessTream
.Type = adTypetext
.Abrir
.WriteTextvin
.Position = 0
.Charset = "GB2312"
.Position = 2
StringReturn = .readText
.Fechar
ENDWITH
SetbytessTream = nada
STB = StringReturn
Função final
FunctionNewString (WSTR, STRNG)
Nestring de notícias = Instr (lcase (WSTR), lcase (strng))
IfNewString <= 0ThenNewString = len (WSTR)
Função final
'Declare o formato interceptado, inicie do início e termine de
FunctionGetKey (html, start, over)
Start = Newstring (html, start)
Over = Newstring (html, over)
GetKey = MID (HTML, Start, Over-start)
Função final
Dimsoftid, URL, HTML, título
A coleção de Baidu sabe
Fori = 1to100
Url = "http://zhidao.baidu.com/question/10000" & i & ".html"
Html = geturl (url)
Pergunta = getKey (html, "<cq>", "</cq>")
Resposta = getKey (html, "<a>", "</a>")
Response.Write (Pergunta e "<br/>")