Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Simple HTML PHP Parser
kubapi
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.05.2010

Ostrzeżenie: (0%)
-----


Witam! Mam problem z pobieraniem treści z innej strony. Robię to za pomocą Simple HTML PHP Parser. Oto mój kod:
  1. <?php
  2. include_once('simple_html_dom.php');
  3.  
  4. function scraping_IMDB($url) {
  5.  
  6. $html = file_get_html($url);
  7.  
  8. $ret['Tytuł'] = $html->find('title', 0)->plaintext;
  9. $ret['Nazwa'] = $html->find('td td', 0)->plaintext;
  10.  
  11.  
  12.  
  13. $html->clear();
  14. unset($html);
  15.  
  16. return $ret;
  17. }
  18. // -----------------------------------------------------------------------------
  19. $ret = scraping_IMDB('http://www.90minut.pl/liga/0/liga5618.html');
  20.  
  21. echo "<table>" ;
  22. foreach($ret as $k=>$v)
  23.  
  24.  
  25. echo "<tr><td> $k </td><td> $v </td><tr>";
  26. "</table>"
  27. ?>

Tytuł pobiera jednak nie wiem jak mam pobrać np. kolumnę Nazwa czy też coś innego z tej strony. Proszę o pomoc.
Go to the top of the page
+Quote Post
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Musisz sobie podejrzeć źródło strony i odpowiednio "poruszać" się po nim, pobierając interesujące cię informacje. To jest tak jak z css, jak chcesz jakiś dany element wyróżnić poprzez pogrubienie, to musisz się do niego jakoś dostać. Jak to będzie tylko jakiś ciąg wewnątrz większego ciągu, to już wtedy raczej musisz kombinować z wyrażeniami regularnymi. Tak czy inaczej to nie jest specjalny problem o ile się mniej więcej zna css, a raczej zasadę jego działania (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
kubapi
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.05.2010

Ostrzeżenie: (0%)
-----


Czyli mam np. tak:
  1. <td align="left">&nbsp;<a href="/skarb.php?id_klub=273&id_sezon=79" class="main">Piast Gliwice</a></td>

I jak zrobić żeby zadziałało? Co trzeba wpisać?
  1. $ret['Nazwa'] = $html->find('td td', 0)->plaintext;

Rozumiem żę trzeba zmienić to co jest w nawiasie czyli: ('td td', 0). Tylko co tam trzeba dać?
Go to the top of the page
+Quote Post
tolomei
post
Post #4





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


Witaj.

Simple HTML DOM Parser to narzędzie, które na wejście otrzymuje cały dokument html bądź jakąś jego część.
Aby znaleźć sposób na dotarcie do jakiegoś wewnętrznego znacznika, czy atrybutu należy sprawę rozpatrywać w odniesieniu do całego drzewa DOM na wejściu.
Podaj adres strony, bądź wrzuć na forum cały dokument, który przeszukujesz.

Na marginesie, pamiętaj, aby przed rozpoczęciem zapisywania danych do zmiennej, najpierw ją inicjować. Na początku Twojej funkcji dodaj taką linijkę:
  1. $ret = array();


Pozdrawiam.
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Znacznie prościej użyć PHPQuery ;-)
Go to the top of the page
+Quote Post
kubapi
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 14.05.2010

Ostrzeżenie: (0%)
-----


To jest link do strony, chodzi mi o wyciągnięcie tabeli. Strona Czuje że to wszystko mnie przerosło, zobaczę jeszcze na PHP Query jak napisał Fifi209.
Go to the top of the page
+Quote Post
by_ikar
post
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Fifi209 @ 16.04.2012, 16:55:40 ) *
Znacznie prościej użyć PHPQuery ;-)

Akurat Simple HTML PHP Parser jest równie łatwo użyć co phpQuery, bo oba działają podobnie, aczkolwiek w phpQuery jest kilka rzeczy które są bezpośrednio z jquery "wyciągnięte". Co nie znaczy że tego samego efektu przy obu klasach nie da się osiągnąć. Różnica polega na tym że phpquery jest znacznie wolniejszy i bardziej zasobożerny a jego dokumentacja jest średnia i trzeba się posiłkować dokumentacją jquery.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 14:25