Semalt : PHP 웹 페이지 긁기 3 단계

웹 데이터 추출 또는 웹 수집이라고도하는 웹 스크래핑은 웹 사이트 또는 블로그에서 데이터를 추출하는 프로세스입니다. 그런 다음이 정보를 사용하여 메타 태그, 메타 설명, 키워드 및 사이트 링크를 설정하여 검색 엔진 결과에서 전반적인 성능을 향상시킵니다.

데이터를 긁기 위해 두 가지 주요 기술이 사용됩니다.

  • 문서 파싱 – 여기에는 DOM (Document Object Model) 파일로 변환 된 XML 또는 HTML 문서가 포함됩니다. PHP는 훌륭한 DOM 확장 기능을 제공합니다.
  • 정규 표현식 – 웹 문서에서 데이터를 정규 표현식 형태로 긁는 방법입니다.

타사 웹 사이트 스크래핑 데이터 관련 문제는이 데이터를 사용할 권한이 없기 때문에 저작권과 관련이 있습니다. 그러나 PHP를 사용하면 저작권 관련 문제 나 품질 저하없이 데이터를 쉽게 긁을 수 있습니다. PHP 프로그래머는 코딩 목적으로 다른 웹 사이트의 데이터가 필요할 수 있습니다. 여기서는 다른 사이트에서 데이터를 효율적으로 얻는 방법을 설명했지만 그 전에는 index.php 또는 scrape.js 파일을 얻을 수 있음을 명심해야합니다.

1 단계 : 웹 사이트 URL을 입력하는 양식을 작성하십시오.

우선, 제출 버튼을 클릭하여 index.php에서 양식을 작성하고 데이터 스크랩을위한 웹 사이트 URL을 입력해야합니다.

<form method = "post"name = "scrape_form"id = "scrap_form"acti>

데이터를 긁어 웹 사이트 URL을 입력

<input type = "input"name = "website_url"id = "website_url">

<input type = "submit"name = "submit"value = "Submit">

</ form>

2 단계 : 웹 사이트 데이터를 가져 오는 PHP 함수 생성 :

두 번째 단계는 데이터를 가져오고 URL 라이브러리를 사용하는 데 도움이되므로 scrape.php 파일에 PHP 함수 스크랩을 만드는 것입니다. 또한 문제없이 다른 서버 및 프로토콜에 연결하고 통신 할 수 있습니다.

scrapeSiteData 함수 ($ website_url) {

if (! function_exists ( 'curl_init')) {

die ( 'cURL이 설치되어 있지 않습니다. 설치 후 다시 시도하십시오.');

}

$ curl = curl_init ();

curl_setopt ($ curl, CURLOPT_URL, $ website_url);

curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, true);

$ output = curl_exec ($ curl);

curl_close ($ 컬);

반환 $ 출력;

}

여기에서 PHP cURL이 제대로 설치되었는지 확인할 수 있습니다. 함수 영역에서 3 개의 주요 cURL을 사용해야하며 curl_init ()는 세션을 초기화하고 curl_exec ()는이를 실행하고 curl_close ()는 연결을 닫는 데 도움이됩니다. CURLOPT_URL과 같은 변수는 스크랩해야하는 웹 사이트 URL을 설정하는 데 사용됩니다. 두 번째 CURLOPT_RETURNTRANSFER는 스크랩 된 페이지를 기본 형식이 아닌 변수 형식으로 저장하는 데 도움이되므로 궁극적으로 전체 웹 페이지가 표시됩니다.

3 단계 : 웹 사이트에서 특정 데이터 긁기 :

이제 PHP 파일의 기능을 처리하고 웹 페이지의 특정 섹션을 긁을 때입니다. 특정 URL의 모든 데이터를 원하지 않는 경우 CURLOPT_RETURNTRANSFER 변수를 사용하여 편집하고 스크래핑하려는 섹션을 강조 표시해야합니다.

if (isset ($ _ POST [ 'submit'])) {

$ html = scrapeWebsiteData ($ _ POST [ 'website_url']);

$ start_point = strpos ($ html, '최신 게시물');

$ end_point = strpos ($ html, '', $ start_point);

$ 길이 = $ end_point- $ start_point;

$ html = substr ($ html, $ start_point, $ length);

에코 $ html;

}

이러한 코드를 사용하거나 특정 블로그 나 웹 사이트를 개인적인 목적으로 사용하기 전에 PHP 및 정규식에 대한 기본 지식을 개발하는 것이 좋습니다.