PHP로 접미사가없는 이미지를 크롤링하는 것은 어려운 작업이지만 올바른 기술을 사용하면 쉽게 수행 할 수 있습니다. 이 기사에서는 PHP를 사용하여 스크립트를 작성하여 페이지에 접미사없이 이미지를 잡고 다운로드하는 방법을 설명합니다.
먼저 이미지 크롤링 및 다운로드 기능을 구현하려면 PHP 스크립트를 만들어야합니다. CURL 라이브러리를 사용하면 HTTP 요청을 보낼 수 있으며 일반 표현식은 접미사없이 이미지 링크와 일치하는 데 사용됩니다.
"grab_images.php"라는 PHP 파일을 작성하고 파일에 다음 코드를 추가하십시오.
// 크롤링 할 사이트를 설정하십시오URL
$url = "https://example.com";
// 만들다cURL핸들
$ch = curl_init();
// 설정cURL옵션
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 구현하다cURL묻다
$response = curl_exec($ch);
// 폐쇄cURL핸들
curl_close($ch);
// 찾은 이미지 링크를 저장하기 위해 배열을 초기화하십시오
$images = array();
// 일반 표현식을 사용하여 접미사없이 이미지에 대한 링크를 찾으십시오.
preg_match_all('/src="([^"]+)"[^>]*>/', $response, $matches);
// 일치하는 결과를 통해 반복
foreach ($matches[1] as $match) {
// 링크에 파일 접미사가 포함되어 있지 않은 경우,그런 다음 배열에 추가하십시오
if (!pathinfo($match, PATHINFO_EXTENSION)) {
$images[] = $match;
}
}
// 찾은 이미지 링크를 출력합니다
foreach ($images as $image) {
echo $image . "\n";
}
위의 코드는 지정된 URL에 HTTP 요청을 보내고 페이지 컨텐츠를 반환합니다. 그런 다음 정규 표현식을 사용하여 HTML에서 이미지 링크를 추출하고 링크에 접미사가 포함되어 있는지 판단하여 접미사없이 이미지를 필터링합니다.
다음 으로이 이미지를 다운로드하려면 스크립트에 코드를 추가해야합니다.
// 발견 된 이미지 링크를 가로 지르고 있습니다
foreach ($images as $image) {
// 이미지 파일 이름을 생성합니다
$filename = basename($image);
// 사진을 다운로드하십시오
file_put_contents($filename, file_get_contents($image));
}
PHP 스크립트를 실행하려면 명령 줄에서 다음 명령을 실행하십시오.
php grab_images.php
스크립트는 지정된 URL 페이지를 기어 다니고 접미사없이 이미지 링크를 추출하여 다운로드하여 로컬 파일로 저장합니다.
스크립트가있는 폴더에 다운로드 된 이미지를 저장하기위한 쓰기 권한이 있는지 확인하십시오.
이 기사의 PHP 스크립트 예제를 사용하면 접미사없이 이미지를 잡는 방법을 보여줍니다. CURL 라이브러리를 사용하여 HTTP 요청을 보내고 정규 표현식을 사용하여 이미지 링크를 추출하고 PHP 기능을 통해 이미지를 다운로드하여 저장하십시오. 이 스크립트는 자동화 된 작업 또는 개인화 된 기능에 적합합니다.