컬렉션이란 무엇인가요?
은 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=''; while (!feof($fp)) { $data.=fread($fp,4096); //fread读取返回的数据,一次读取4096字节 } //关闭连接 fclose($fp); var_dump($data); ?>
#🎜🎜 #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));
3 . file_get_contents 직접 사용(최상위)
전제 조건: php.ini에서 네트워크를 열 수 있는 URL 주소를 설정합니다.
//使用file_get_contents() $data=file_get_contents("http://www.youku.com"); var_dump($data);
위 내용은 PHP는 데이터 수집을 위해 무엇을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!