2

私はphpのシンプルなhtml domのこつをつかもうとしています.divクラスに関してはいくつかの問題があります。

たとえば、newegg で div クラス「skiplink」の値を見つけたいとします (サイトでランダムなクラスを選択しただけです)。php simple html dom documentation found hereによると、私はただ使用する必要があります。

$html = file_get_html('http://www.newegg.com');

print_r($ret = $html->find('.skiplink'));

現在、ハングしてフリーズしているようです。次のコードが機能するため、インストールが機能していることがわかります。

foreach($html->find('a') as $element) 
   echo $element->href . '<br>';

基本的に、特定の Web サイトの特定の div クラスを見て、その値を見つけるにはどうすればよいですか?

phpQuery を使用するなど、これを行う簡単な方法はありますか

4

2 に答える 2

0

このサイトでの簡単な検索から: <div>value</div> から値を取得するには?

しかし、これが彼らの言うことです。

$doc = new DomDocument();
$doc->loadHTMLFile('http://www.results.com');
$thediv = $doc->getElementById('result');
echo $thediv->textContent;

または、id で値を取得して、div 句の innerText 値を見つけることができます。

$div = $doc->getElementById('result');
if($div) {
    echo $div->textContent;
}
于 2013-04-06T05:51:54.867 に答える
0

または、代わりに XPath を使用します。このコードは src を出力します

//init DOMDocument
$dom = new DOMDocument();
//get the source from the URL
$html = file_get_contents("URL");
//load the html
dom->loadHTML($html);
//init XPath
$xpath = new DOMXPath($dom);

//fetch the src from the iframe within a class name
$iframe_src=$xpath->query('//*[@class="CLASSNAME"]/iframe//@src');

vardump($iframe_src);

コンテンツを取得するにはfile_get_contents()

$options  = array('http' => array('user_agent' => 'USERAGENT')); //you must specify a user agent
$context  = stream_context_create($options);
$response = file_get_contents($iframe_src, false, $context);
于 2014-11-22T02:58:53.827 に答える