Exemplo de análise do início da coleção do princípio da coleção asp
O primeiro passo é analisar as páginas que deseja capturar.
Use um navegador para abrir a página que deseja coletar (como: http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml, você também pode usar outras páginas após a abertura). clique com o botão direito para visualizar o arquivo de origem.
O segundo passo é encontrar a localização do conteúdo a ser coletado.
Se eu quiser coletar o título e a localização do conteúdo desta página:
O título está entre <h1 id=artibodyTitle style=color:#03005C;> e </h1>
O conteúdo está entre <!-- Início do conteúdo do texto --> e <!-- Fim do conteúdo do texto -->
Preste atenção na singularidade do local. Depois de encontrá-lo, você pode usar a pesquisa na edição para ver se é único. Caso contrário, tente ser o primeiro. , você só poderá substituí-lo.
A terceira etapa é escrever código
Copie o código do código da seguinte forma:
<%
'Função: código de coleção asp
'Autor: Wangsdong
'Observações: Apoie programas originais, por favor guarde esta informação, obrigado
url=http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml
str=getHTTPágina(url)
title=strcut(str,<h1 id=artibodyTitle style=color:#03005C;>,</h1>,2)
content=strcut(str,<!-- Início do conteúdo do texto -->,<!-- Fim do conteúdo do texto -->,2)
response.write título da notícia<br><b>&title&</b><br><br><br>conteúdo da notícia:<br>&content
Função getHTTPPage(url)
Em caso de erro, retomar o próximo
escurecer http
definir http=Server.createobject(Microsoft.XMLHTTP)
Http.open GET,url,falso
http.send()
se Http.readystate<>4 então
função de saída
terminar se
getHTTPPage=bytesToBSTR(Http.responseBody,GB2312)
definir http = nada
Se Err.número<>0 então
Response.Write <p align='center'><font color='red'><b>O servidor apresentou um erro ao obter o conteúdo do arquivo</b></font></p>
Err.Limpar
Terminar se
Função final
Função BytesToBstr(corpo,Cset)
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 = Cset
BytesToBstr = objstream.ReadText
objstream.Fechar
definir objstream = nada
Função final
'Intercepte a string, 1. incluindo os caracteres iniciais e finais, 2. excluindo
Função strCut(strContent,StartStr,EndStr,CutType)
DimstrHtml,S1,S2
strHtml = strConteúdo
Em caso de erro, retomar o próximo
Selecione o tipo de corte da caixa
Caso 1
S1 = InStr(strHtml,StartStr)
S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)
Caso 2
S1 = InStr(strHtml,StartStr)+Len(StartStr)
S2 = InStr(S1,strHtml,EndStr)
Finalizar seleção
Se errar então
strCute = <p align='center'>O conteúdo necessário não foi encontrado. </p>
Err.Limpar
Função de saída
Outro
strCut = Médio(strHtml,S1,S2-S1)
Terminar se
Função final
%>
Tudo bem, vou gerar o conteúdo obtido agora e você pode gravar o conteúdo no banco de dados, para que os dados sejam seus.