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
shtoc
post
Post #2





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

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


  1. <?php
  2. $strona=curl_exec($url);
  3.  
  4.  
  5. $DOM = new DOMDocument();
  6. $DOM->LoadHTML;
  7. var_dump ($DOM);
  8. ?>


$strona ma w sobie stronę www deklarowana na poczatku

var_dump daje :
object(DOMDocument)#1 (0) { }

ok działa tak :

  1. <?php
  2. $DOM = new DOMDocument();
  3. $DOM->LoadHTML("$strona");
  4. ?>
Go to the top of the page
+Quote Post
golaod
post
Post #3





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

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


Cytat(shtoc @ 1.06.2009, 16:21:44 ) *
  1. <?php
  2. $strona=curl_exec($url);
  3. $DOM = new DOMDocument();
  4. $DOM->LoadHTML;
  5. var_dump ($DOM);
  6. ?>


$strona ma w sobie stronę www deklarowana na poczatku

var_dump daje :
object(DOMDocument)#1 (0) { }

ok działa tak :

  1. <?php
  2. $DOM = new DOMDocument();
  3. $DOM->LoadHTML("$strona");
  4. ?>


A co się dziwić, że nie działało skoro było $DOM->LoadHTML; Nie podałeś źródła (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
W każdym razie u mnie działa przechodzenie przez tr i potem td tak jak ty to robiłeś w foreach

Ten post edytował golaod 1.06.2009, 15:29:46
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: 3.10.2025 - 02:07