Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, bom dia.
Faço parte de um grupo de sorteios de jogos, e para facilitar um pouco para nós. estamos querendo criar um site para centralizar algumas informações para os membros do grupo.
Um dos objetivos é resgatar dessa plataforma de sorteio, os atuais jogos que estamos sorteando, quantidade de sorteios e etc. todas as informações que precisarmos para incluir em nosso site. Praticamente as informações que precisamos esta neste link: https://www.steamgifts.com/group/VqT9o/steamtrocasbrasilesorteios Mas queremos colocar em nosso site, já que alguns sorteios nós abrimos apenas para alguns usuários bem posicionados em um rank interno nosso.
O que vocês me indicariam para recuperar esses dados. Alguém pode me apontar um caminho para chegar a solução que preciso?
Desde já agradeço pela atenção
Te recomendo a contratar um programador se você não tiver conhecimento em programação.
Você meio que pediu a explicação do sistema todo, ai fica meio complicado!
>
Te recomendo a contratar um programador se você não tiver conhecimento em programação.
Você meio que pediu a explicação do sistema todo, ai fica meio complicado!
Na verdade eu não preciso contratar alguem no momento. estou fazendo isso pq eu quero aprender e é novidade para mim. Recuperar informações de outro site é algo que não cheguei a tentar ainda então resolvi tentar.
Quanto fato de ter pedido a explicação do sistema. queria ver quais as sugestões me dariam, já que tentei usar file_get_contents e curl e não consegui,
Veja se esta plataforma não tem um WebService
Veja se esta plataforma não tem um WebService
já verifiquei isso, não tem API e nem webservice para isso.. por isso recorri ao forum para ver se alguem ja fez este tipo de coisa. Como eu disse, tentei usar o curl e o flie_get_contents e não consegui capturar nada do site em questão
Primeiro você terá que estudar como o site interpreta as requisições, existem sistemas que bloqueiam requisições que não venham de navegadores, para isto você tem que simular ser um navegador usando algum cabeçalho, pelo que vi a primeira página é exibida sem problemas, já os links levam para páginas que exigem cadastro, isso já é outro problema, já que você terá que logar no sistema.
O caminho mais curto é cURL mesmo.
Como o Serra disse, tem esse outro problema: o login! No fim das contas eu acho que seria mais fácil você fazer seu próprio sistema haha
>
Primeiro você terá que estudar como o site interpreta as requisições, existem sistemas que bloqueiam requisições que não venham de navegadores, para isto você tem que simular ser um navegador usando algum cabeçalho, pelo que vi a primeira página é exibida sem problemas, já os links levam para páginas que exigem cadastro, isso já é outro problema, já que você terá que logar no sistema.
O caminho mais curto é cURL mesmo.
Eu tentei também simular uma requisição de navegador no curl. com o headers e useragent o link que eu mandei ai na verdade mesmo sem login ele consegue ver os dados. por isso acredito que o fato de exigir login não vai atrapalhar.
a unica vez que não me apresentou erro foi usando simulado o navegador, mas mesmo assim não consegui ler nada do site. o resultado vinha para mim tudo em branco.
Qual o código de retorno do servidor? Geralmente quando a requisição é considerada inválida vai retornar um 4XX ou o 500 direto.
Qual o código de retorno do servidor? Geralmente quando a requisição é considerada inválida vai retornar um 4XX ou o 500 direto.
Ai que esta o problema. não me retorna nada. página em branco.
Este é o código que usei para tentar capturar algo.
<?php
$headers = array (
'Accept-Language: en-US;q=0.6,en;q=0.4',
);
$agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; es-MX; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13";
$url = "https://www.steamgifts.com/group/VqT9o/steamtrocasbrasilesorteios";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$page = curl_exec($ch);
curl_close($ch);
if($page){
return $page;
}
return 'Forbidden';Isso vai retornar o código que o servidor está devolvendo, o fato de devolver uma página em branco só significa que não há nada para o navegador renderizar, contudo um cabeçalho é devolvido e é isso que interessa nesse momento.
echo curl_getinfo($ch, CURLINFO_HTTP_CODE);
>
Isso vai retornar o código que o servidor está devolvendo, o fato de devolver uma página em branco só significa que não há nada para o navegador renderizar, contudo um cabeçalho é devolvido e é isso que interessa nesse momento.
echo curl_getinfo($ch, CURLINFO_HTTP_CODE);
o erro é 301, isso não é um redirecionamento? o followlocation não deveria contornar isso?
Já resolveu o problema?
Já resolveu o problema?
Ja sim. com a linha de código que o ESErra postou para me apresentar o código do errou ficou fácil de resolver.. agora meu desafio é pegar o conteúdo de algumas divs determinadas ali e inserir no meu banco de dados.
Mas agora tentarei ir até onde eu conseguir, e em caso de dúvidas eu retorno aqui novamente XD.
Obrigado a todos
ninguém? T__T