前一段时间看见有网友分享的php抓取百度贴吧图片的代码http://www.oschina.net/code/snippet_1023084_19836,这段代码对我现在在写的一个页面帮助很大。    不过这段代码中是用正则匹配出json数据中的图片id的,感觉效率不如直接解析json数据来的高,于是自己修改了一下,分享给大家。 [php]<?php @set_time_limit(10); //贴吧名称 $tbname = “mugen”; //相册ID $tid = “2134897418”; //图册页url模版 $galleryurltpl = “http://tieba.baidu.com/photo/bw/picture/guide?kw=%s&tid=%s"; //本地的目录 $savepath = “R:/images/”; //帖子子文件夹 $filedir = $savepath.$tid; //图片文件 $filenametpl = $filedir.”/%s.jpg"; //图册页url $galleryurl = sprintf($galleryurltpl, $tbname, $tid);

//返回的json数据 $retjson = file_get_contents($galleryurl); $retarray = json_decode($retjson, true); //图片列表 $piclist = $retarray[‘data’][‘pic_list’];

//目录是否存在 if(!is_dir($filedir)) mkdir($filedir); foreach($piclist as $pic){ $pic_id = $pic[‘img’][‘original’][‘id’]; $url = “http://imgsrc.baidu.com/forum/pic/item/".$pic_id.".jpg"; $filename = sprintf($filenametpl, $pic_id); //下载图片 $imagebin = file_get_contents($url); //保存图片 file_put_contents($filename,$imagebin); } ?>[/php]