首页 > 后端开发 > php教程 > 如何取出百度某排行榜50条并在每条加前后缀呢

如何取出百度某排行榜50条并在每条加前后缀呢

WBOY
发布: 2016-06-13 12:11:12
原创
969 人浏览过

怎么取出百度某排行榜50条并在每条加前后缀呢
如http://top.baidu.com/buzz?b=26&c=1&fr=topcategory_c1

------解决思路----------------------
帶輸出的完整例子,你好好學習下。
中間你想改什麼,直接改就可以了。

<br /><?php<br />function getContent($url){<br />	$ch = curl_init();<br />	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);	<br />	curl_setopt($ch, CURLOPT_URL, $url);<br />	curl_setopt($ch, CURLOPT_TIMEOUT, 300);<br />	$response = curl_exec($ch);<br />	if($error=curl_error($ch)){<br />		die($error);<br />	}<br />	curl_close($ch);<br /><br />	$content = iconv('GBK','UTF-8//IGNORE',$response);<br /><br />	return $content;<br />}<br /><br />function getKeywords($content){<br />	// keywords<br />	preg_match_all('/<td class="keyword">(.*?)<\/td>/is', $content, $keywords);<br />	$data = $keywords[1];<br /><br />	$result = array();<br /><br />	foreach($data as $val){<br />		preg_match_all('/<a.*?href="(.*?)".*?>(.*?)<\/a>/is', $val, $tmp);<br />		array_push($result, array('name'=>$tmp[2][0],'url'=>'http://top.baidu.com'.substr($tmp[1][0],1)));<br />	}<br /><br />	return $result;<br />}<br /><br />function getTc($content){<br />	// tc<br />	preg_match_all('/<td class="tc">(.*?)<\/td>/is', $content, $tc);<br /><br />	$data = $tc[1];<br /><br />	$result = array();<br /><br />	foreach($data as $val){<br />		preg_match_all('/<a.*?href="(.*?)".*?>(.*?)<\/a>/is', $val, $tmp);<br />		array_push($result, array('brief'=>$tmp[1][0], 'news'=>$tmp[1][1], 'tieba'=>$tmp[1][2]));<br />	}<br /><br />	return $result;<br />}<br /><br />function getNum($content){<br />	// last<br />	preg_match_all('/<td class="last">(.*?)<\/td>/is', $content, $last); //icon-rise up icon-fall down<br /><br />	$data = $last[1];<br /><br />	$result = array();<br /><br />	foreach($data as $val){<br />		preg_match_all('/<span.*?class="(.*?)">(.*?)<\/span>/is', $val, $tmp);<br />		array_push($result, array('flag'=>str_replace('icon-','',$tmp[1][0]), 'num'=>$tmp[2][0]));<br />	}<br /><br />	return $result;<br />}<br /><br />$url = 'http://top.baidu.com/buzz?b=340&c=1&fr=topbuzz_b339_c1';<br />$content = getContent($url);<br />$result = array();<br /><br />$keywords = getKeywords($content);<br />$tc = getTc($content);<br />$num = getNum($content);<br /><br />for($i=0,$len=count($keywords); $i<$len; $i++){<br />	$tmp = array(<br />		'name' => $keywords[$i]['name'],<br />		'url' => $keywords[$i]['url'],<br />		'brief' => $tc[$i]['brief'],<br />		'news' => $tc[$i]['news'],<br />		'tieba' => $tc[$i]['tieba'],<br />		'flag' => $num[$i]['flag'],<br />		'num' => $num[$i]['num']<br />	);<br />	array_push($result, $tmp);<br />}<br />?><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><br /><html><br /> <head><br />  <meta http-equiv="content-type" content="text/html;charset=utf-8"><br />  <title> baidu </title><br /> </head><br /><br /> <body><br />	<table><br />	<?php<br />	$i = 1;<br />	foreach($result as $val){<br />	?><br />	<tr><br />		<td><?=$i ?></td><br />		<td><a href="<?=$val['url'] ?>"><?=$val['name'] ?></a></td><br />		<td><a href="<?=$val['brief'] ?>">簡介</a></td><br />		<td><a href="<?=$val['news'] ?>">新聞</a></td><br />		<td><a href="<?=$val['tieba'] ?>">貼吧</a></td><br />		<td><?php if($val['flag']=='fall'){ echo '↓'; }else{echo '↑'; } ?><?=$val['num'] ?></td><br />	</tr><br />	<?php<br />		$i++;<br />	}<br />	?><br />	</table><br /> </body><br /></html><br />
登录后复制

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板