Pobieranie danych PHP


(Bartexks) #1

Witam,

na samym początku chciałbym zaznaczyć że jestem totalnym laikiem w tych sprawach :confused:

Otóż: chciałem pobrać dane ze stronki i wyświetlać na innej w tym celu wyszukałem taki plik php to uzupełnienia (ja nazwałem go ilemysz.php):

<pre><?php

require('simple_html_dom.php');

/*
	Klasa .nazwaklasy
	ID #nazwaid
	tag img
	klasa + name	.nazwaklasy[name='nazwa']
*/

$html = file_get_html("link do strony");
$info['nazwa']	= $html->find(".panel-title",0)->title;

print_r($info);
?>

Oraz bibliotekę czy jak to się zwie: simple_html_dom

Gdy wszystko uzupełnię w tym pliku i spróbuje uruchomić otrzymuje błąd:

Warning: file_get_contents(link strony z która się łączę) [function.file-get-contents]: failed to open stream: Connection refused in /virtual/p/a/moja strona/simple_html_dom.php on line 75



Fatal error: Call to a member function find() on a non-object in /virtual/p/a/moja strona/ilemysz.php on line 19

Plik simple_html_dom: http://pastebin.com/ab7hBYaQ

Czy da radę coś zrobić? Przepraszam jeśli powyrywałem jakies pliki bez sensu


(Fizyda) #2

Ten skrypt służy do wczytywania strony HTML która jest zapisana w pliku na Twoim serwerze, a nie do pobierania strony z adresu. Chyba że źle zinterpretowałem kod - jestem zmęczony więc jest to możliwe.

Poza tym masz napisane

Takie pobranie strony z adresu url musisz zrobić za pomocą np curla.


(slepcu) #3

dawno nie pisałem w PHP, ale chyba używasz dobrej biblioteki (nie musisz używać curla).

próbowaleś wpisać coś sensowego w miejsce 

"link do strony"

to co wkleiłeś używa wprost file_get_contents 

wpisywałeś adres www wraz z http:// ??


(Fizyda) #4

Jeszcze raz dzisiaj na spokojnie to ogarnąłem, u mnie powiem szczerze jako tako działa, a przynajmniej pobiera stronę. Jest jeden warunek w adresie musisz mieć http:// inaczej biblioteka uzna że czytasz z pliku.

Jeśli nadal jest problem to spróbuj użyć jeszcze urlencode() na url’u.

Ogólnie masz jeszcze błąd bo odwołujesz się do atrybutu title na obiekcie zwracanym przez metodę find, tyle tylko że obiekt ten nie posiada takiego atrybutu.