解析标题和html页面
我想从中得到html页面的标题和链接链接:解析标题和html页面
<div class="gs_r">
<h3 class="gs_rt">
<span class="gs_ctc">[BOOK]</span>
<a href="http://example.com" onmousedown="return scife_clk(this.href,'','res','1')">titleA</a>
</h3>
<div class="gs_ggs gs_fl">
<a href="http://exampleA.pdf" onmousedown="return scife_clk(this.href,'gga','gga','1')">
我怎样才能得到呢?
下面的代码:
<?php
include 'simple_html_dom.php';
$url = 'http://example.com';
$html = file_get_html($url);
//get the first link
foreach($html->find('span[class=gs_ctc]')as $Link){
echo $link;
}
foreach($html->find('div[class=gs_ggs gs_fl]')as $docLink){
echo $docLink;
}
?>
对于第一个环节,它的<span>
的兄弟姐妹。试试这个:
//get the first link
foreach($html->find('span[class=gs_ctc]') as $link){
$link = $link->next_sibling();
echo $link->plaintext;
echo $link->href;
}
至于第二连杆,它的<div>
的孩子:
foreach($html->find('div[class=gs_ggs gs_fl]') as $docLink){
$link = $docLink->first_child();
echo $link->href;
}
编辑:第二连杆与第一分组,所以你可以试试这个:
foreach($html->find('span[class=gs_ctc]') as $link){
foreach($link->parent()->parent()->find('div[class=gs_ggs gs_fl]') as $docLink){
$link1 = $link->next_sibling();
$link2 = $docLink->first_child();
if(preg_match('/\.pdf$/i', $link2->href) === 1){
echo $link1->plaintext;
echo $link1->href;
echo $link2->href;
}
}
}
谢谢@火箭..: )我已经尝试过了,但我只获得了标题,我无法获取链接。我试过这个网址='http://scholar.google.com/scholar?hl=zh-CN&q=data+mining&btnG=&as_sdt=1%2C5&as_sdtp=' – 2012-07-18 03:36:18
@ user1495052:愚蠢的是,它是'href',而不是' src'。 – 2012-07-18 03:52:19
哦,太棒了!非常感谢你@火箭! :) – 2012-07-18 03:57:29
到目前为止所做的工作 – diEcho 2012-07-18 03:04:48
您是否尝试了XML解析解决方案? – 2012-07-18 03:07:08
从什么html页面?你的问题写得不好,你的代码不完整。请考虑改进它,这样你可以得到更好的帮助。而且,到目前为止你做了什么/尝试了什么。 – LeeR 2012-07-18 03:07:33