Sayfa içeriği PHP-Al

3 Cevap php

Ben bir sayfanın içeriği alıp benim sevme için yeniden biçimlendirmek istiyorum ...

Örneğin:

  • Example.com git
  • Sınıf "x" ile etiketleri içinde içerik alın
  • Özel değişkenler içerik geçmek
  • Bazı oldukça formu .. dizisi, csv, xml içeriği tükürmek ...

Doğru, çok zor değil mi? Ben bir PHP noob ben! :)

3 Cevap

Kullanmayı deneyin PHP Simple HTML DOM Parser.

Böyle güzel şeyler yapabilirsiniz:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images
foreach($html->find('img') as $element)
       echo $element->src . '<br>';

// Find all links with class=x
foreach($html->find('a[class=x]') as $element)
       echo $element->href . '<br>';

Veri almak için, üç zorluk seviyesi vardır:

file_get_contents($url); //easy

Ne yazık ki siteleri bir çok doğru bir kullanıcı aracısı çok duyarlı değildir. Burada iki seçeneğiniz var. Bir diğerinden biraz daha zor. Ara ürün olan Zend HTTP Client

$client = Zend_Http_Client(); //make sure to include Zend_Http, etc.
$client->setConfig($params); // params will include proper user agent
$client->setUri($aUrl);
$html = $client->request()->getBody();

Hatta gerçekten nesne yönelimli, PHP'nin cURL functionality keşfetmek için daha fazla komut dosyası tutmak istediğiniz sürece dikkate almak istemeyebilirsiniz Seçenek üç,

Orada bir DOM nesnesi HTML üzerinden verilere erişmek için bir kaç PHP-yerel yolu vardır, ama benim favori Simple HTML DOM Parser olduğunu. Bu jQuery / CSS stil DOM navigasyon çok benzer.

$domObject = new Simple_HTML_Dom($html);
foreach ($domobject->find('div#theDataYouWant p') as $sentence)
{
    echo "<h3>{$sentence}</h3>";
}

XSD sizin için hile yapabilir. Ben de wget + CSS düşünün ...