PHP抓取并保存网页所有图片
2018-07-20 来源:open-open
使用simple_html_dom.php一键保存url下所有图片资源
<?php include_once('simple_html_dom.php'); $url = $argv[1]; echo "start fetching images from $url".PHP_EOL.PHP_EOL; $data = loadData($url); $html = str_get_html($data); $images = $html->find('img'); $srcs = array(); foreach ($images as $image) { $src = $image->attr['src']; saveImg($src); $srcs[] = $src; } echo PHP_EOL.'finish'; function loadData($url) { //useragent是为了防止淘宝等公司对脚本访问的限制 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, 'MMozilla/5.0 (Windows NT 6.1; rv:36.0) Gecko/20100101 Firefox/36.0'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 5); return curl_exec($ch); } function saveImg($src) { $path = dirname(__FILE__).'/images/'.date('YmdHis').rand(100, 999); $suffix = getSuffix($src); $fileName = $path.'.'.$suffix; if (file_put_contents($fileName, file_get_contents($src))) { echo "save $src success".PHP_EOL; } } function getSuffix($src) { $pattern = '/.+\.(.+)/'; preg_match($pattern, $src, $matches); $suffix = $matches[1]; if (!in_array(strtolower($suffix), array('jpg','jpeg','png','bmp','gif'))) { $suffix = 'png'; } return $suffix; } ?>
标签: 脚本
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐