>백엔드 개발 >PHP 튜토리얼 >PHP_php 기술에서 네트워크 데이터를 크롤링하는 데 일반적으로 사용되는 4가지 방법

PHP_php 기술에서 네트워크 데이터를 크롤링하는 데 일반적으로 사용되는 4가지 방법

WBOY
WBOY원래의
2016-05-16 20:14:411440검색

이 섹션의 이름은 fsockopen, 컬 및 file_get_contents입니다. 구체적으로 네트워크 데이터 입력 및 출력을 위한 세 가지 방법에 대한 일부 요약을 설명합니다. 우리는 이전에 fsockopen에 대해 많이 이야기했습니다. 다른 이야기로 넘어가겠습니다. 다음은 네트워크 데이터를 크롤링하는 몇 가지 일반적인 방법에 대한 간략한 목록입니다.

1. get 모드에서 콘텐츠를 가져오려면 file_get_contents를 사용하세요.

$url = 'http://localhost/test2.php';
$html = file_get_contents($url);
echo $html;

2. fopen을 사용하여 URL을 열고 get 메소드를 사용하여 콘텐츠를 가져옵니다

$url = 'http://localhost/test2.php';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
  $result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);

3. 포스트 모드에서 URL을 얻으려면 file_get_contents 함수를 사용하세요

$data = array(
 'foo'=>'bar',
 'baz'=>'boom',
 'site'=>'www.jb51.net',
 'name'=>'nowa magic');
 
$data = http_build_query($data);

//$postdata = http_build_query($data);
$options = array(
 'http' => array(
 'method' => 'POST',
 'header' => 'Content-type:application/x-www-form-urlencoded',
 'content' => $data
 //'timeout' => 60 * 60 // 超时时间(单位:s)
 )
);

$url = "http://localhost/test2.php";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

echo $result;

4. 컬 라이브러리를 사용하기 전에 php.ini에서 컬 확장 기능이 켜져 있는지 확인해야 할 수도 있습니다.

$url = 'http://localhost/test2.php?site=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);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;

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