[PHP|cURL] Jak pobrać dane z innej strony?

Najprostszą i zarazem najszybszą metodą na pobranie danych z innej strony jest użycie cURL, a następnie parsera PHP Simple HTML DOM.

Jak pobrać zdalną stronę?

Pobranie zdalnego dokumentu poprzez protokół http lub https sprowadza się do napisania kilku komend cURL:

$ch = curl_init('http://www.example.com');

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);

$document = curl_exec($ch);

curl_close($ch);
Już pewnie się domyślasz, że zmienna $document przechowuje wynik zwrócony przez funkcję curl_exec - pobraną stronę. Reszta to już pobieranie danych z elementów DOM z pomocą biblioteki PHP Simple HTML DOM. Przykładowo na zdalnej stronie znajduje się div o ID 'article-1', a w nim jakiś tekst. Aby go pobrać użyjemy następującego kodu:
require 'simple_html_dom.php'; // Dołączamy bibliotekę PHP Simple HTML DOM

$html = str_get_html($document);

$ret = $html->find('div[id=article-1]');

Pełna dokumentacja biblioteki PHP Simple HTML DOM dostępna jest tu.

Komentarze

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?