时间:2021-07-01 10:21:17 帮助过:1人阅读
function getContent($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
$response = curl_exec($ch);
if($error=curl_error($ch)){
die($error);
}
curl_close($ch);
$content = iconv('GBK','UTF-8//IGNORE',$response);
return $content;
}
function getKeywords($content){
// keywords
preg_match_all('/(.*?)<\/td>/is', $content, $keywords);
$data = $keywords[1];
$result = array();
foreach($data as $val){
preg_match_all('/(.*?)<\/a>/is', $val, $tmp);
array_push($result, array('name'=>$tmp[2][0],'url'=>'http://top.baidu.com'.substr($tmp[1][0],1)));
}
return $result;
}
function getTc($content){
// tc
preg_match_all('/(.*?)<\/td>/is', $content, $tc);
$data = $tc[1];
$result = array();
foreach($data as $val){
preg_match_all('/(.*?)<\/a>/is', $val, $tmp);
array_push($result, array('brief'=>$tmp[1][0], 'news'=>$tmp[1][1], 'tieba'=>$tmp[1][2]));
}
return $result;
}
function getNum($content){
// last
preg_match_all('/(.*?)<\/td>/is', $content, $last); //icon-rise up icon-fall down
$data = $last[1];
$result = array();
foreach($data as $val){
preg_match_all('/(.*?)<\/span>/is', $val, $tmp);
array_push($result, array('flag'=>str_replace('icon-','',$tmp[1][0]), 'num'=>$tmp[2][0]));
}
return $result;
}
$url = 'http://top.baidu.com/buzz?b=340&c=1&fr=topbuzz_b339_c1';
$content = getContent($url);
$result = array();
$keywords = getKeywords($content);
$tc = getTc($content);
$num = getNum($content);
for($i=0,$len=count($keywords); $i<$len; $i++){
$tmp = array(
'name' => $keywords[$i]['name'],
'url' => $keywords[$i]['url'],
'brief' => $tc[$i]['brief'],
'news' => $tc[$i]['news'],
'tieba' => $tc[$i]['tieba'],
'flag' => $num[$i]['flag'],
'num' => $num[$i]['num']
);
array_push($result, $tmp);
}
?>
baidu
$i = 1;
foreach($result as $val){
?>
=$i ?>
">=$val['name'] ?>
">簡介
">新聞
">貼吧
=$val['num'] ?>
$i++;
}
?>
人气教程排行
- 174次 1 php如何获取跳转前的url
- 174次 2 php格林威治时间转换成当前时间的方法
- 174次 3 为什么php不能做大型系统?
- 174次 4 range函数怎么用
- 174次 5 php中计算页面加载时间几种方法总结_PHP教程
- 174次 6 求帮助,关于paypal支付返回值修改订单状态
- 174次 7 typecho怎么配置文章内容页?
- 174次 8 PhpStorm左侧structure不显示文件的方法列表是这么回事?
- 174次 9 查看PHP的环境变量_PHP
- 174次 10 PHP Primary script unknown 解决方法总结
- 174次 11 php的命名空间与自动加载实现方法
- 174次 12 解决laravel 出现ajax请求419(unknown status)的问题
- 173次 13 php 如何删除mysql记录
- 173次 14 PHP如何替换数组中的指定元素
- 173次 15 怎么去除字符串中非汉字、非字母、非数字的字符
- 173次 16 mysql如何一次执行多条SQL语句
- 173次 17 修改header里面的Connection为close解决方法
- 173次 18 PHP基于session.upload_progress 实现文件上传进度显示功能详解
- 173次 19 php5.6.x到php7.0.x特性小结
- 172次 20 php为什么会出现504错误