> 백엔드 개발 > 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿