Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WPA

[Resolvido] Erro Mid

Recommended Posts

Bom dia pessoal.

 

Estou tentando capturar um conteúdo específico de uma outra página utilizando o seguinte script adquirido aqui no fórum:

 

 

<%

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")

xmlhttp.Open "GET", "http://www.site.com.br/categoria/index.asp", False

xmlhttp.setRequestHeader "ContentType","text/html"

xmlhttp.Send()

 

str_text = xmlhttp.ResponseText

 

int_ini = Instr(str_text, "<div class=""listaconteudo"">")

int_fim = Instr(int_ini, str_text, "<strong>Leia mais:") - int_ini

 

Response.Write Mid(str_text, int_ini, int_fim)

 

%>

 

Mas está ocorrendo o erro abaixo, tentei de tudo, alguém poderia me ajudar?

 

 

 

Erro de tempo de execução do Microsoft VBScript erro '800a0005'

 

Chamada de procedimento ou argumento inválido: 'Mid' /categoria/index.asp, line 22

 

 

 

 

Abraços a todos !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa permitir o acesso ao seu projeto IUSR_machinename / DLL através DCOMCNFG.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa permitir o acesso ao seu projeto IUSR_machinename / DLL através DCOMCNFG.

 

 

Olá xanburzum, muito obrigado por sua colaboração, ainda estou engatinhando no asp,como faço essa configuração?

é necessário ter acesso total ao servidor?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, você precisa ter direitos administrativos, se não tiver entre em contato com seu suporte...

 

Isso geralmente acontece porque você usou um nome "amigável" do VBScript para uma constante no lugar de seu valor inteiro equivalente. Visual Basic considera esses nomes amigáveis, como o "FileSystemObject é ForAppending 'e' ForWriting 'constantes.

 

verifique também o que esta sendo passado nas variaveis int_ini, int_fim

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, você precisa ter direitos administrativos, se não tiver entre em contato com seu suporte...

 

Isso geralmente acontece porque você usou um nome "amigável" do VBScript para uma constante no lugar de seu valor inteiro equivalente. Visual Basic considera esses nomes amigáveis, como o "FileSystemObject é ForAppending 'e' ForWriting 'constantes.

 

verifique também o que esta sendo passado nas variaveis int_ini, int_fim

 

xanburzum, obrigado pela força.

Vou verificar e assim que estiver resolvido posto a solução aqui.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, amigo...

até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o funcionamento, além de ser necessária as permissões nos arquivos, para corrigir o erro, foi preciso eliminar na última linha ",int_fim" que estava em Mid(str_text, int_ini, int_fim)

 

Funcionou, o conteúdo capturado aparece, mas surgiu um outro problema, a captura inicia-se de onde você ordenar mas não sabe onde parar, lista onde você ordenou até o fim da página não reconhecendo o final da </div>.

 

Alguém poderia ajudar?

 

 

<%
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.Open "GET", "http://www.site.com.br/categoria/index.asp", False
xmlhttp.setRequestHeader "ContentType","text/html"
xmlhttp.Send()

str_text = xmlhttp.ResponseText

int_ini = Instr(str_text, "<div class=""conteudo"">")
int_fim = Instr(int_ini, str_text,"</div>") - int_ini

Response.Write Mid(str_text, int_ini)

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o funcionamento, além de ser necessária as permissões nos arquivos, para corrigir o erro, foi preciso eliminar na última linha ",int_fim" que estava em Mid(str_text, int_ini, int_fim)

 

Funcionou, o conteúdo capturado aparece, mas surgiu um outro problema, a captura inicia-se de onde você ordenar mas não sabe onde parar, lista onde você ordenou até o fim da página não reconhecendo o final da </div>.

 

Alguém poderia ajudar?

 

 

<%

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")

xmlhttp.Open "GET", "http://www.site.com.br/categoria/index.asp", False

xmlhttp.setRequestHeader "ContentType","text/html"

xmlhttp.Send()

 

str_text = xmlhttp.ResponseText

 

int_ini = Instr(str_text, "<div class=""conteudo"">")

int_fim = Instr(int_ini, str_text,"</div>") - int_ini

 

Response.Write Mid(str_text, int_ini)

 

%>

 

 

Bom pessoal eu consegui resolver

Agradeço aos que me ajudaram

Abraços a todos!

 

 

'Se sabe em qual div iniciar, também deve de ser informado em qual div parar:

 

<%

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")

xmlhttp.Open "GET", "http://www.site.com.br/categoria/index.asp", False

xmlhttp.setRequestHeader "ContentType","text/html"

xmlhttp.Send()

 

str_text = xmlhttp.ResponseText

 

int_ini = Instr(str_text, "<div class=""abc"">")

int_fim = Instr(int_ini, str_text,"<div class=""abcd"">") - int_ini

 

Response.Write Mid(str_text, int_ini, int_fim )

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por causa do int_fim = Instr(int_ini, str_text,"</div>") - int_ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.