php采集li标签的链接与文本内容

作者:enenba | 发表于:2012-06-21 15:47 | 分类:php采集

一般在个网站中最适合堆砌文章列表的就是<ul><li>标签,型如以下的形式:

ull标签+li标签

<ul>
	<li>……<li>
<ul>

这样可以获取一个文章的主要内容列表,那也不用管他们的是怎么分布在什么地方只要输入网址,他就自动找出li标签部分,然后目测出是否是主要的列表部分内容,然后就可以使用正则OOXX 采集了吧,

<ul>标签可以写成

<ul class="a1"……>

也要考虑li和a标签也有以上属性的情况。

我只上核心部分好了,网址输入、过滤判断我就不上代码了

 

 

<?php
$str = '
<ul>
<li><a href="http://www.tencent.com/zh-cn/content/at/2012/attachments/20120619.pdf">腾讯战略投资Epic Games【PDF file】</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2012_20120522">腾讯任命首席财务官</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2012_20120518">国家广播电影电视总局副局长田进一行参访腾讯</a></li>
<li><a href="http://www.tencent.com/zh-cn/content/at/2012/attachments/20120518.pdf">迎接未来互联网机遇 腾讯宣布成立六大事业群</a></li>
<li><a href="http://www.tencent.com/zh-cn/content/at/2012/attachments/20120516.pdf">腾讯公布2012年第一季度业绩【PDF file】</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2012_20120412">腾讯成都研发大楼奠基 打造西部最大互联网人才基地</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2012_20120322">工信部部长苗圩会见腾讯公司董事局主席马化腾</a></li>
<li><a href="http://www.tencent.com/zh-cn/content/at/2012/attachments/20120314.pdf">腾讯公布2011年第四季度及全年业绩 【PDF file】</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2012_20120223">共青团中央书记处第一书记陆昊一行参访腾讯</a></li>
<li><a href="http://www.tencent.com/zh-cn/at/pr/detail.shtml?id=at_2011_20111217">腾讯深汕云计算数据中心奠基</a></li>
<li class="s"><a href="http://www.tencent.com/zh-cn/at/pr/2012.shtml">更多>></a></li>
			</ul>
		</div>

';
$search = '/<ul.*?>(.*?)<\/ul>/si';
preg_match($search,$str,$r);
$search = '/<li.*?><a .*?href="([^"]*?)".*?>(.*?)<\/a><\/li>/is';
preg_match_all($search , $r[1] , $s);
printf("<p>输出数据为:</p><pre>%s</pre>\n",var_export( $s ,TRUE));
?>

 

以上内容只是猜测与内部调试使用。

 

end..

上一篇: php获取百度MP3(baidu mp3)下载列表   |   下一篇:php获取某网站的百度快照日期» 标签: 正则 php采集 li标签

评论:

2012-06-21 16:03

一个技术站 垃圾评论也这么多

2012-06-21 16:04

我也觉得,怎么回事呢?