Como obter dados de um site externo usando PHP

Quando desenvolvemos sites ou aplicações baseadas em tecnologias Web, provavelmente precisaremos estabelecer conexões com outros sites ou aplicações disponíveis na Web. O problema é que conectar-se a servidores remotos nem sempre é algo fácil, devido as várias regras de segurança que o servidor impõe. Recentemente, precisei por vários motivos, de obter o título de uma página que fosse passada para mim, usando PHP ou Javascript. A solução apareceu com o PHP, usando a biblioteca cURL.

PHP é a linguagem mais usada na construção de sites e bogs

PHP é a linguagem mais usada na construção de sites e bogs. Imagem por

cURL é uma biblioteca que permite a conexão e troca de informações com servidores remotos de uma forma simples. Com o cURL, podemos fazer downloads ou uploads de ficheiros em servidores remotos, fazer login em sites que estão noutros servidores e ainda ter acesso á área de membros destes sites, enfim, as possibilidades são infinitas.Como exemplo aqui, vou deixar a função que usei para estabelecer a conexão com o site que pretendia e ainda obter o título da página inicial.

function getTitle ( $url ) {$site_url = $url; $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, $site_url); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);ob_start(); curl_exec($ch); curl_close($ch); $file_contents = ob_get_contents(); ob_end_clean(); if (  preg_match( '/<title>([^<]++)/', $file_contents, $matches ) == FALSE ) return FALSE;return $matches[1]; }

Aqui, a url do site é passada no parámetro da função, e então usando funções do cURL, a função faz o download da página em questão. Como apenas faz o download do código HTML da página, ignorando elementos externos, o tempo de execução é mínimo. Defini um tempo de execução 5, mas podia colocar zero para não limitar o tempo de execução. Depois, usando expressões regulares, a função apenas obtem o valor definido entre as tags <title> e </title> , ignorando o resto.Este é um exemplo básico do uso do cURL, que conseguiu resolver meus problemas. Para mais funções do cURL aconselho o uso do livro Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL disponível na Amazon.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 121 times, 1 visits today)
Share