>  기사  >  백엔드 개발  >  PHP로 웹페이지 내용을 얻는 방법

PHP로 웹페이지 내용을 얻는 방법

怪我咯
怪我咯원래의
2017-07-12 14:52:233811검색

PHP를 사용하여 페이지의 콘텐츠를 캡처하는 것은 간단한 콘텐츠 수집기 만들기, 웹페이지에서 콘텐츠의 일부 추출 등 실제 개발에 매우 ​​유용합니다.

캡처된 콘텐츠는 정규식을 통해 처리됩니다. 하나의 필터로 원하는 콘텐츠를 얻으세요. 정규식을 사용하여 필터링하는 방법에 대해서는 여기서 소개하지 않겠습니다. 관심 있는 분들을 위해 PHP를 사용하여 웹 페이지 콘텐츠를 크롤링하는 데 일반적으로 사용되는 몇 가지 방법을 소개합니다. .
1.file_get_contents

<?php 
$url = "http://www.jb51.net"; 
$contents = file_get_contents($url); 
//如果出现中文乱码使用下面代码 
//$getcontent = iconv("gb2312", "utf-8",$contents); 
echo $contents; 
?>

2.curl
PHP 코드

<?php 
$url = "http://www.jb51.net"; 
$ch = curl_init(); 
$timeout = 5; 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
//在需要用户检测的网页里需要增加下面两行 
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
//curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD); 
$contents = curl_exec($ch); 
curl_close($ch); 
echo $contents; 
?>

3.fopen->fread->fclose
PHP 코드, 코드는 다음과 같습니다.

<?php 
$handle = fopen ("http://www.jb51.net", "rb"); 
$contents = ""; 
do { 
$data = fread($handle, 1024); 
if (strlen($data) == 0) { 
break; 
} 
$contents .= $data; 
} while(true); 
fclose ($handle); 
echo $contents; 
?>

참고:

1. file_get_contents 및 fopen을 사용할 때,allow_url_fopen을 활성화해야 합니다. 방법: php.ini를 편집하고 Allow_url_fopen = On으로 설정하세요.allow_url_fopen이 꺼지면 fopen이나 file_get_contents 모두
원격 파일을 열 수 없습니다. 2.컬을 사용하려면 컬을 활성화할 수 있는 공간이 있어야 합니다. 방법: Windows에서 php.ini를 수정하고, Extension=php_curl.dll 앞의 세미콜론을 제거한 다음, Linux에서 ssleay32.dll 및 libeay32.dll을 C:WINDOWSsystem32에 복사하려면 컬 확장을 설치해야 합니다.

위 내용은 PHP로 웹페이지 내용을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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