Boas…
Onde posso obter boa leitura sobre a técnica de webservice, para capturar dados de um sie evidentemente para usar no SC.
Pretendo obter dados deste site, (https://www.windguru.cz/48952) nomeadamente a data e hora, Velocidade (nós)
Rajadas (nós)
Direcção do vento
Ondulação (m)
Periodo da vaga (s)
Direcção da vaga
*Temperatura (°C)
Acho que ai é mais programação mesmo sem influencia do SC
se eles não fornecerem webservice para retorno dos dados voce tera que usar file_get_contents ou Curl
$EnderecoUrl = ‘https://www.windguru.cz/48952’;
$PegaDadosSite = file_get_contents($EnderecoUrl );
ou
CURLOPT_URL e DOMXPath
independente tem trabalhar com o retorno que vai estar em $PegaDadosSite, e torcer para eles não mudar nome, id, etc
O ideal é se eles tivessem o webservice para pegar os retornos em array
testei esse código mas:
ERRO
file_get_contents(): Unable to find the wrapper “https” - did you forget to enable it when you configured PHP?
ERRO
file_get_contents(https://www.windguru.cz/48952): failed to open stream: Invalid argument
Terá que verificar primeiramente se eles disponibilizam webservice…
Se gostou da resposta, clique no ícone “coração” abaixo
pode ser que seu servidor esteja bloqueada a função, use o Curl, não tem erro, segue um exemplo para pegar o titulo, use a mesma logica para o que precisa
$site = "https://www.windguru.cz/48952";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $site);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
ob_start();
curl_exec($ch);
curl_close($ch);
$Conteudo = ob_get_contents();
ob_end_clean();
preg_match('/<title>([^<]++)/', $Conteudo, $Encontrado);
echo $Encontrado[1];
Saída do conteúdo do array dá erro:
|ERRO|
|Undefined offset: 1|
testei aqui e veio o titulo, montei em uma blank…
faz um teste, abre uma blank, e dentro dela coloque o abaixo, execute e veja se aparece o site dentro dela, se sim esta trazendo todo o conteúdo,
$site = "https://www.windguru.cz/48952";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $site);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
ob_start();
curl_exec($ch);
curl_close($ch);
$Conteudo = ob_get_contents();
ob_end_clean();
print_r($Conteudo);
Não escreve o resultado,
Veja as configurações de seu php, as duas formas que passei funcionou no php5.4 e php7
<estou usando um ficheiro blank do SC 9.3
eu também, 9.03.09
crie as duas formas e tente enviar para um servidor, veja se funciona, pode ter alguma restrição local, tente uma terceira também com o file_get_contents , mas em um servidor web.
aqui funcionou local no e no servidor
Boas… no servidor web funcionar as 2 situações.
Agora como posso “capturar” os valores apresentados por exemplo da linha >Velocidade (nós) ??
Ai voce tem que ver o código fonte da pagina e saber as posições que precisa e ir pegando os dados e colocando em variáveis para exibir onde precisa.
da uma olhada na função preg_match do php