PHP에서 URL을 기반으로 웹페이지 콘텐츠를 얻는 것은 매우 편리합니다. 시스템에 내장된 함수 file_get_contents()를 사용하고 URL을 전달하여 웹페이지의 콘텐츠 코드를 반환할 수 있습니다. Baidu 홈페이지는 다음과 같습니다.
<?php $html = file_get_contents('http://www.baidu.com/'); echo $html;
그러면 Baidu를 표시할 수 있습니다. 그러나 이 기능은 일부 서버에서 이 기능을 비활성화하거나 특정 필수 매개변수를 전달하지 않기 때문에 서버에서 거부하기 때문에 전능하지 않습니다. 예를 들면 다음과 같습니다.
<?php $html = file_get_contents('http://www.163.com/'); echo $html;
이 코드는 NetEase 홈페이지의 전체 코드를 가져올 수 없으며 다음 페이지를 반환합니다. 이때 다른 방법을 생각해 봐야 합니다.
웹 페이지를 쉽고 효과적으로 캡처할 수 있는 PHP의 cURL 라이브러리를 소개합니다. 스크립트를 실행하고 크롤링한 웹페이지를 분석하기만 하면 프로그래밍 방식으로 원하는 데이터를 얻을 수 있습니다. 링크에서 부분 데이터를 검색하거나, XML 파일을 가져와서 데이터베이스로 가져오거나, 단순히 웹 페이지의 콘텐츠를 검색하려는 경우에도 cURL은 강력한 PHP 라이브러리입니다. 이를 사용하려면 먼저 PHP 구성 파일에서 이를 활성화해야 합니다. 이를 열 때 Windows에서 일부 dll이 필요할 수 있습니다. 여기에서 소개한 내용을 믿을 수 없습니다. phpinfo()를 호출하면 됩니다. 확인하기 위해 활성화되어 있으면 "로드된 확장 프로그램"에 표시됩니다.
다음은 웹 페이지 코드를 얻기 위해 컬을 사용하는 간단한 예입니다.
<?php $ch = curl_init(); $timeout = 10; // set to zero for no timeout curl_setopt ($ch, CURLOPT_URL,'http://www.163.com/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $html = curl_exec($ch); echo $html;
이 코드를 통해 NetEase 홈페이지의 내용을 출력할 수 있습니다. 여기서 빨간색으로 표시된 코드는 브라우저의 에이전트를 시뮬레이션하기 때문에 핵심입니다. 서버는 브라우저에서 액세스한다고 생각하므로 올바른 HTML을 반환합니다.
관련 권장 사항:
php는 URL을 기반으로 웹 페이지 콘텐츠를 가져옵니다
위 내용은 URL을 사용하여 PHP에서 웹 콘텐츠를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!