0

この html ページから情報 (http://linkWeb.com、Titles、およびhttp://link.pdf ) を取得するにはどうすればよいですか?

<div class="title-download">
    <div id="01divTitle" class="title">
        <h3>
            <a id="01Title" onmousedown="" href="http://linkWeb.com">Titles</a>
            <span id="01LbCitation" class="citation">(<a id="01Citation" href="http://citation.com">Citations</a>)</span></h3>
    </div>
    <div id="01downloadDiv" class="download">
        <a id="01_downloadIcon" title="http://link.pdf" onmousedown="" target=""><img id="ctl01_icon" class="small-icon";" /></a>
    </div>
</div>

試してみましたが、タイトルしか返されません。以前の simple_tml_dom については知りません。私を助けてください。ありがとうございました :)

<?php

include 'simple_html_dom.php';
set_time_limit(0);

$url  ='http://libra.msra.cn/Search?query=data%20mining&s=0';
$html = file_get_html($url) or die ('invalid url');
foreach($html->find('div[class=title-download]') as $webLink){
    echo $webLink->plaintext.'<br>';
    echo $webLink->href.'<br>';
}

foreach($html->find('div[class=download]') as $Link2){
    echo $webLink2->href.'<br>';    
}

?>
4

3 に答える 3

2

class title-download で div 内の a 要素を選択する必要があると思います。少なくともドキュメントでは、jQuery (http://simplehtmldom.sourceforge.net/) のようなセレクターを使用していると書かれています。

次のようにしてみてください。

$html = file_get_html($url) or die ('invalid url');
foreach($html->find('.title a') as $webLink){
    echo $webLink->plaintext.'<br>';
    echo $webLink->href.'<br>';
}

foreach($html->find('.download a') as $link){
    echo $link->title.'<br>';    
}
于 2012-07-21T02:04:19.570 に答える
0

このコードでタイトルとURLをスクラップします:

foreach($html->find('span[class=citation]') as $link){
  $link = $link->prev_sibling();
  echo $link->plaintext.'<br>';
  echo $link->href.'<br>';
}

@zigomirによって与えられた答えを使用して、クラスのダウンロードでURLをスクラップします:)

foreach($html->find('.download a') as $link){
   echo $link->title.'<br>';    
}
于 2012-07-22T01:20:43.560 に答える
0

LibXML を使用して HTML を解析し、XPath を使用して必要な要素または要素属性を指定します。

于 2012-07-21T14:33:18.417 に答える