首頁 > 後端開發 > php教程 > PHP抓取并保存网页所有图片

PHP抓取并保存网页所有图片

WBOY
發布: 2016-06-20 12:59:42
原創
1002 人瀏覽過

废话不说,直接上代码

<?phpinclude_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;}?>
登入後複製

simple_html_dom下载地址

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板