最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php 抓取新浪新闻的程序代码
时间:2022-06-24 17:05:12 编辑:袖梨 来源:一聚教程网
首先,需要下载一个simple_html_dom第三方扩展库,具体下载方式和使用详情可以查看:simple_html_dom的使用.
需要环境支持file_get_contents()函数和curl的支持,具体代码如下:
include_once('simple_html_dom.php');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$output = curl_exec($ch);
curl_close($ch);
$html = new simple_html_dom();
$html->load($output);
$images = array();
$arr = array();
foreach($html->find('li a') as $element){
if( preg_match('#^http://tech.sina.com.cn/it/[d]{4}-[d]{1,2}-[d]{1,2}/[d]+.shtml$#i',$element->href)){
array_push($images,$element->href);
}
}
$images = array_unique($images);
sort($images);
for($i=0;$iload($data);
$arr = array();
foreach($html->find('h1#artibodyTitle') as $element){
$arr['title']= @iconv('gbk','utf-8', $element->innertext);
;
}
$str = '';
foreach($html->find('div#artibody p') as $element){
$str.= $element;
}
$arr['content'] = $str;
foreach($html->find('div.img_wrapper img') as $element){
$arr['alt'] =$element->alt;
$data = file_get_contents($element->src);
$info = getimagesize($element->src);//get image information
switch($info[2]){
case 1:
$str = 'gif';
break;
case 2:
$str = 'jpg';
break;
case 3:
$str = 'png';
break;
default:
continue;
break;
}
$filename = time().rand(1,999999).'.'.$str;
if(!is_dir($dirname)){
mkdir($dirname,0777,true);
}
$fp = fopen($dirname.$filename,'w');
fwrite($fp,$data);
fclose($fp);
$arr['img'] = $dirname.$filename;
}
return $arr;
}
?>
如果大家有更好的建议,欢迎提出来
相关文章
- 魔兽世界怀旧服Plus黑暗深渊联盟可接取任务一览 12-07
- tevi雷瓦纳斯隐藏招式触发条件攻略 12-07
- 绝区零拉力委托隐藏区域位置汇总 12-07
- tevi终焉的倒计时成就完成攻略 12-07
- 魔兽世界怀旧服Plus暴风城伍德位置一览 12-07
- 魔兽世界怀旧服Plus传递信仰任务攻略 12-07