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

我认为您需要在 div 中选择一个带有标题下载类的元素。至少文档说它使用像 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

使用 LibXML 解析 HTML 并使用 XPaths 指定您想要的元素或元素属性。

于 2012-07-21T14:33:18.417 回答
0

使用以下代码废弃标题和网址:

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 回答