>  기사  >  백엔드 개발  >  URL을 사용하여 PHP에서 웹 콘텐츠를 얻는 방법

URL을 사용하여 PHP에서 웹 콘텐츠를 얻는 방법

小云云
小云云원래의
2018-03-27 09:12:584641검색

PHP에서 URL을 기반으로 웹페이지 콘텐츠를 얻는 것은 매우 편리합니다. 시스템에 내장된 함수 file_get_contents()를 사용하고 URL을 전달하여 웹페이지의 콘텐츠 코드를 반환할 수 있습니다. Baidu 홈페이지는 다음과 같습니다.

<?php  
$html = file_get_contents(&#39;http://www.baidu.com/&#39;);  
  
echo $html;

그러면 Baidu를 표시할 수 있습니다. 그러나 이 기능은 일부 서버에서 이 기능을 비활성화하거나 특정 필수 매개변수를 전달하지 않기 때문에 서버에서 거부하기 때문에 전능하지 않습니다. 예를 들면 다음과 같습니다.

<?php  
$html = file_get_contents(&#39;http://www.163.com/&#39;);  
  
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,&#39;http://www.163.com/&#39;);  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt ($ch, CURLOPT_USERAGENT, &#39;Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36&#39;);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
$html = curl_exec($ch);  
echo $html;

이 코드를 통해 NetEase 홈페이지의 내용을 출력할 수 있습니다. 여기서 빨간색으로 표시된 코드는 브라우저의 에이전트를 시뮬레이션하기 때문에 핵심입니다. 서버는 브라우저에서 액세스한다고 생각하므로 올바른 HTML을 반환합니다.

관련 권장 사항:

php는 URL을 기반으로 웹 페이지 콘텐츠를 가져옵니다

위 내용은 URL을 사용하여 PHP에서 웹 콘텐츠를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.