本帖最后由 changcha700 于 2019-11-6 11:23 编辑
工作累了的时候总喜欢看看多玩搞笑GIF图,闲着没事写了个脚本把GIF图片保存到本地
代码也比较简单,需要的朋友可以下载看看,下面放上核心代码
重要提示:记得修改下面代码中的保存路径
代码中的第30行是保存路径
[PHP] 纯文本查看 复制代码 <?php
set_time_limit(0);
include 'Curl.php';
$curl = new Wenpeng\Curl\Curl();
$ids = array_unique(getPage($curl,30));
$logs = explode(',',file_get_contents('log.txt'));
foreach ($ids as $id) {
if(is_numeric(array_search($id, $logs))){
continue;
}else{
$url = 'http://tu.duowan.com/index.php?r=show/getByGallery/&gid='.$id;
$data = $curl->url($url)->data();
$source_data = json_decode($data, true);
foreach ($source_data['picInfo'] as $value) {
$parrent = '/[\\/:\*\?\"<>|]/';
$filename = preg_replace($parrent, '', $value['add_intro']);
if(isset($value['mp4_url']) && $value['mp4_url']!=''){
$fina_url = $value['mp4_url'];
$filename = $filename.'.mp4';
}elseif(isset($value['source']) && $value['source']!=''){
$fina_url = $value['source'];
$filename = $filename.'.gif';
}else{
continue;
}
$curl->url($fina_url)->save('F:\images\\'.$filename);
}
file_put_contents('log.txt', $id.',',FILE_APPEND);
}
}
echo "爬取完成";
//抓取内容页面
function getPage(Wenpeng\Curl\Curl $curl,int $offset){
$url = 'http://tu.duowan.com/m/bxgif?offset='.$offset.'&order=created&math=0.6526874541027958';
$data = $curl->url($url)->data();
$html = json_decode($data,true)['html'];
$parrent = '/gallery\/(\d*).html/i';
$matchs = [];
preg_match_all($parrent, $html,$matchs);
$offset+=30;
if(!empty($matchs[1])){
return array_merge($matchs[1],getPage($curl,$offset));
}else{
return $matchs[1];
}
}
执行方法,在根目录执行命令行,输入 php index.php即可
dw.rar
(2.75 KB, 下载次数: 99)
|