인터넷 콘텐츠가 풍부 해짐에 따라 인터넷에서 많은 고품질 그림 자원이 등장했습니다. 많은 시나리오에서 우리는 풍경 사진, 예술 작품 등과 같은 지정된 웹 사이트에서 배치로 사진을 수집해야합니다.이 기사는 PHP를 사용하여 스크립트를 작성하여 웹 사이트에서 고화질 사진을 자동으로 수집하는 방법을 보여줍니다.
수집하기 전에 대상 웹 사이트의 구조를 먼저 분석해야합니다. 일반적으로 이미지는 페이지에 IMG 태그로 내장되어 있습니다. 웹 페이지 소스 코드를 관찰하면 이미지 주소의 패턴을 찾은 다음 대상 이미지에 대한 링크를 추출 할 수 있습니다.
수집 아이디어를 명확히 한 후 PHP의 CURL 기능을 사용하여 웹 페이지 소스 코드를 잡은 다음 일반 표현식을 통해 이미지 링크를 일치시키고 마지막으로 이미지를 루프로 다운로드하여 저장합니다.
// 설정 curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 얻다 HTML 암호
$html = curl_exec($ch);
curl_close($ch);
// 정규 표현을 정의합니다
$pattern = '/<img[^>]+src=["\']?([^"\'>]+)["\']?[^>]*>/is';
// 이미지 주소를 찾으십시오
preg_match_all($pattern, $html, $matches);
$matches = $matches[1];
// 무거운 곳으로 가십시오
$matches = array_unique($matches);
// 이미지 저장 경로를 정의합니다
$path = "./images/";
if(!file_exists($path)){
mkdir($path);
}
// 사진을 다운로드하십시오
foreach($matches as $key => $value){
// 얻다图片名
$imgname = basename($value);
// 파일을 엽니 다
$fp = fopen($path . $imgname, 'w');
// 설정 curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $value);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 사진을 다운로드하십시오
curl_exec($ch);
curl_close($ch);
// 파일을 닫습니다
fclose($fp);
}
위의 방법을 통해 간단하고 효율적인 웹 이미지 수집 기능을 달성 할 수 있습니다. 실제 요구에 따라 코드를 조정하고 최적화 할 수 있습니다. 컬렉션 프로세스 중에 이미지와 같은 문제가 발생할 수없는 경우 네트워크 환경 및 권한과 같은 요소를 확인하고 디버그 할 수 있습니다. 이 튜토리얼이 PHP 사진 컬렉션의 기술을 쉽게 마스터하는 데 도움이되기를 바랍니다.