Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie przez DOM
shtoc
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 18.11.2008
Skąd: Polska

Ostrzeżenie: (10%)
X----


Mam pytanie chcę pobrać ze strony za pomocą DOM znacznik "href" ale nie wychodzi możne ktoś widzi błąd ?

fragment strony:

  1. <table cellspacing="1" cellpadding="3" border="0" width="100%">
  2. </thead>
  3. <tr class="odd">
  4. <td>000000</td>
  5. <td>
  6.  
  7. <a title="TYTUŁ" href="http://www.domena.pl/">NAZWA</a>
  8. <br/>
  9.  
  10. </td>
  11. <td>MIASTO</td>
  12. </tr>



Kod php:

  1. <?php
  2. $pol=mysql_connect('localhost', 'root', '') or die('BÄąâ₏šĂ„â₏Œd poÄąâ₏šĂ„â₏Œczenia: '.mysql_error());
  3. mysql_selectdb('krs') or die('BÄąâ₏šĂ„â₏Œd wyboru bazy: '.mysql_error());
  4. mysql_query("SET NAMES utf8");
  5.  
  6. $adres="http://www.domena.pl/";
  7.  
  8. $url = curl_init($adres);
  9. curl_setopt($url, CURLOPT_USERAGENT, 'holmes/3.10.1 (OnetSzukaj/5.0; +http://szukaj.onet.pl)');
  10. curl_setopt($url, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($url, CURLOPT_CONNECTTIMEOUT, 5);
  12. curl_setopt($url, CURLOPT_HEADER, 0);
  13. $strona=curl_exec($url);
  14.  
  15.  
  16. $DOM = new DOMDocument();
  17. @$DOM->LoadHTML(iconv("UTF-8","UTF-8",$strona));
  18.  
  19.  
  20.        foreach($DOM->getElementsByTagName('tr') as $tr)
  21.        {            
  22.            $class = $tr->getAttribute('class');
  23.            if($class == 'odd' OR $class == 'add')
  24.            {
  25.                    foreach($td->getElementsByTagName('a') as $a)
  26.                    {
  27.                    $href = $a->getAttribute('href');                
  28.                    echo $href;
  29.                  
  30.                    //$sql="INSERT INTO krs (`adres`) VALUE ('$href')";
  31.                    //$dane = mysql_query($sql);
  32.                    //echo mysql_errno() . ": " . mysql_error();
  33.                    unset($href,$a);
  34.                    }
  35.  
  36.            }
  37.        
  38.        }
  39. ?>


Ten post edytował shtoc 1.06.2009, 14:27:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
golaod
post
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Po pierwsze:
  1. <?php
  2. iconv("UTF-8","UTF-8",$strona);
  3. ?>

Po co takie cudo ? U mnie takie coś by zmieniło kodowanie na jakieś automagiczne niedostępne w tym wszechświecie.

Po drugie:
Nie znam się na DOM w php jednak skąd wziąłeś $td ? Bo ja widzę, że rzeczywiście znajdujesz tr o podanej klasie ale w drzewie zapomniałeś przejść do $td dla danego tr - lub chociaż zainicjować tablicę z takim poddrzewem
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 01:27