인터넷이 발전하고 데이터가 증가함에 따라 웹 크롤러는 인터넷 정보를 얻는 중요한 방법 중 하나가 되었습니다. 웹 크롤러는 네트워크 요청을 통해 웹 사이트에 접속하여 웹 사이트의 정보를 크롤링하고 이를 처리 및 분석하는 자동화된 프로그램입니다. 이번 경우에는 PHP로 기본 웹 크롤러를 작성하는 방법, cURL 라이브러리를 사용하여 크롤링이 필요한 웹사이트에 접속하고, 획득한 정보를 처리하는 방법을 소개하겠습니다.
cURL 라이브러리는 명령줄에서 작동하는 URL 변환 도구를 위한 매우 강력한 도구이며 HTTP/HTTPS/FTP/TELNET과 같은 네트워크 프로토콜도 지원합니다. cURL 라이브러리를 사용하면 쉽게 웹 데이터를 크롤링하고, FTP, HTTP POST 및 PUT 데이터를 통해 파일을 업로드하고, 기본, 다이제스트 또는 GSS-Negotiate 인증 방법을 사용하여 원격 사이트 리소스에 액세스할 수 있습니다. cURL 라이브러리는 매우 편리하고 사용하기 쉽기 때문에 웹 크롤러 작성에 널리 사용됩니다.
이 튜토리얼에서는 CURL 확장을 사용하여 cURL을 사용하는 방법을 시연하므로 먼저 PHP에 cURL 확장 라이브러리를 설치해야 합니다. 다음 명령줄을 사용하여 cURL 확장을 설치할 수 있습니다.
sudo apt-get install php-curl
설치 후 확장 라이브러리가 정상적으로 실행될 수 있도록 php-fpm 서비스를 다시 시작해야 합니다.
다음으로 지정된 URL에 액세스하여 URL 웹 페이지의 일부 기본 정보를 얻는 기본 웹 크롤러를 작성하겠습니다. 다음은 기본 크롤러 스크립트 뼈대입니다.
<?php $curl = curl_init(); $url = "https://www.example.com/"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); curl_close($curl); echo $result; ?>
위 코드는 다음을 수행합니다.
필요에 따라 컬_setopt 옵션을 사용자 정의할 수도 있습니다. 예를 들어, 다음 코드 줄을 사용하여 시간 제한을 설정하는 옵션을 추가할 수 있습니다.
curl_setopt($curl, CURLOPT_TIMEOUT, 5); // 5秒超时
또한, 웹 사이트가 요청될 때 요청을 보내는 브라우저를 시뮬레이션하기 위해 컬_setopt 옵션을 사용하여 HTTP 헤더를 설정할 수 있습니다. 쿠키를 설정해야 하는 경우, 컬_setopt 옵션을 사용하여 쿠키 자리 표시자를 설정하거나 cURL 쿠키에서 관련 기능을 사용할 수 있습니다.
데이터를 얻은 후 이를 추출, 구문 분석 및 필터링해야 할 수도 있습니다. 이 과정에서 PHP의 문자열 처리 기능, 정규식 또는 기타 구문 분석 라이브러리를 사용해야 할 수도 있습니다.
웹 크롤러 작성 과정을 더 잘 이해하기 위해 다음은 웹사이트에서 정보를 추출하는 방법을 보여주는 예입니다. 본 웹사이트(www.example.com)는 의미 있는 데이터를 얻을 수 있는 테스트 웹사이트입니다.
먼저, 지정된 웹사이트에서 데이터를 가져오기 위해 cURL 라이브러리를 사용해야 합니다. 다음은 데이터를 가져오는 데 사용되는 코드 조각입니다.
<?php $curl = curl_init(); $url = "https://www.example.com/"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); curl_close($curl); echo $result; ?>
위 코드를 실행하면 www.example.com의 전체 HTML 콘텐츠가 출력됩니다. 웹사이트. 획득한 웹사이트에서 특정 정보를 추출해야 하므로 HTML을 구문 분석해야 합니다. 다음 코드와 같이 DOMDocument 클래스를 사용하여 HTML을 구문 분석합니다.
<?php $curl = curl_init(); $url = "https://www.example.com/"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); curl_close($curl); $dom = new DOMDocument; $dom->loadHTML($result); foreach ($dom->getElementsByTagName('a') as $link) { echo $link->getAttribute('href'), PHP_EOL; } ?>
위 코드는 DOMDocument 클래스를 사용하여 HTML을 로드하고 getElementsByTagName() 메서드를 사용하여 모든 요소를 가져옵니다. 그런 다음 getAttribute() 메소드를 사용하여 해당 요소의 href 속성을 가져올 수 있습니다. 코드를 실행하면 출력이 HTML 태그에 포함된 URL을 구문 분석하고 출력하는 것을 볼 수 있습니다.
이 글에서는 cURL 라이브러리를 사용하여 기본 웹 크롤러를 작성하는 방법을 소개했습니다. 또한 웹사이트에서 데이터를 추출하는 방법과 HTML 문서를 구문 분석하는 방법도 다루었습니다. 이러한 기본 개념을 이해하면 웹 크롤러의 작동 방식을 더 잘 이해하고 직접 작성을 시작할 수 있습니다. 물론 웹 크롤러 작성에는 복잡한 기술과 문제가 많이 있지만 이 기사가 웹 크롤러 작성 여정을 시작하는 데 도움이 되기를 바랍니다.
위 내용은 PHP 웹 크롤링 기본 튜토리얼: cURL 라이브러리를 사용하여 웹 사이트에 액세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!