> 백엔드 개발 > PHP 문제 > PHP는 데이터 수집을 위해 무엇을 사용합니까?

PHP는 데이터 수집을 위해 무엇을 사용합니까?

(*-*)浩
풀어 주다: 2023-02-24 11:06:02
원래의
2680명이 탐색했습니다.

컬렉션이란 무엇인가요?

은 PHP 프로그램을 사용하여 다른 웹사이트의 정보를 자체 데이터베이스와 웹사이트에 캡처하는 것입니다.

PHP는 데이터 수집을 위해 무엇을 사용합니까?

PHP 생산 및 수집 기술:

바닥 소켓부터 위쪽까지- 레벨 파일 작업 기능에는 총 3가지 수집 방법이 있습니다.

1. 소켓 기술을 사용하여 다음을 수집합니다. (권장 학습: 초급에서 마스터까지의 PHP 프로그래밍)

#🎜🎜 # 소켓 수집은 가장 낮은 수준입니다. 단지 긴 연결을 설정한 다음 요청을 보내기 위해 http 프로토콜 문자열을 직접 구성해야 합니다.

예를 들어 Youku 페이지의 내용을 가져오려면 소켓을 사용하여 다음과 같이 작성합니다.

<?php  
//连接,$error错误编号,$errstr错误的字符串,30s是连接超时时间  
$fp=fsockopen("www.youku.com",80,$errno,$errstr,30);  
if(!$fp) die("连接失败".$errstr);  
   
//构造http协议字符串,因为socket编程是最底层的,它还没有使用http协议  
$http="GET /?spm=a2hww.20023042.topNav.5~1~3!2~A HTTP/1.1\r\n";   //  \r\n表示前面的是一个命令  
$http.="Host:www.youku.com\r\n";  //请求的主机  
$http.="Connection:close\r\n\r\n";   // 连接关闭,最后一行要两个\r\n  
   
//发送这个字符串到服务器  
fwrite($fp,$http,strlen($http));  
//接收服务器返回的数据  
$data=&#39;&#39;;  
while (!feof($fp)) {  
$data.=fread($fp,4096);  //fread读取返回的数据,一次读取4096字节  
}  
//关闭连接  
fclose($fp);  
var_dump($data);  
?>
로그인 후 복사

반환된 헤더 정보를 포함하여 인쇄된 결과는 다음과 같습니다. 페이지의 소스 코드: #🎜 🎜#

PHP는 데이터 수집을 위해 무엇을 사용합니까?

2.curl_a 함수 세트

#🎜🎜 #curl은 HTTP 프로토콜을 캡슐화합니다. 많은 기능의 경우 해당 매개변수를 직접 전달할 수 있으므로 HTTP 프로토콜 문자열 작성의 어려움이 줄어듭니다.

전제 조건: php.ini에서 컬 확장이 활성화되어 있어야 합니다.

function getHTTPS($url) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_REFERER, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $result = curl_exec($ch);
  curl_close($ch);
  return $result;
}
var_dump(getHTTPS($url));
로그인 후 복사

페이지의 소스 코드만 포함하여 인쇄된 결과는 다음과 같습니다.

PHP는 데이터 수집을 위해 무엇을 사용합니까?3 . file_get_contents 직접 사용(최상위)

전제 조건: php.ini에서 네트워크를 열 수 있는 URL 주소를 설정합니다.

//使用file_get_contents()  
$data=file_get_contents("http://www.youku.com");  
var_dump($data);
로그인 후 복사

PHP는 데이터 수집을 위해 무엇을 사용합니까?

위 내용은 PHP는 데이터 수집을 위해 무엇을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿