> 백엔드 개발 > PHP 튜토리얼 > 웹사이트에서 동적 JavaScript로 생성된 데이터를 어떻게 스크랩할 수 있나요?

웹사이트에서 동적 JavaScript로 생성된 데이터를 어떻게 스크랩할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-12-03 17:33:11
원래의
182명이 탐색했습니다.

How Can I Scrape Dynamic JavaScript-Generated Data from a Website?

웹 페이지에서 JavaScript로 생성된 데이터를 검색하는 방법

페이지 콘텐츠가 JavaScript로 동적으로 생성되는 경우 웹 스크래핑이 어려울 수 있습니다. 이러한 시나리오 중 하나는 http://vtis.vn/index.aspx에서 발생하며, 여기서는 버튼을 클릭할 때까지 원하는 데이터("Danh sách chậm")를 사용할 수 없습니다.

PhantomJS를 사용한 솔루션

이 데이터를 프로그래밍 방식으로 검색하려면 JavaScript 기능을 갖춘 헤드리스 WebKit 브라우저인 PhantomJS를 활용하는 것이 좋습니다. PhantomJS를 사용하면 브라우저 상호 작용의 스크립팅을 활성화하여 버튼 클릭 후 렌더링된 데이터에 액세스하는 것을 시뮬레이션할 수 있습니다.

예제 스크립트:

var page = require('webpage').create();

page.open('http://vtis.vn/index.aspx', function() {
  page.evaluate(function() {
    // Click the "Danh sách chậm" button
    document.querySelector('button[onclick="DanhSachCham();"]').click();
  });

  // Wait for the data to load
  setTimeout(function() {
    var data = page.evaluate(function() {
      // Extract the data from the page
      return document.querySelector('div[id="DivDanhSachTTHT"] tbody').innerHTML;
    });
    console.log(data);
  }, 1000);
});
로그인 후 복사

대체 접근 방식 : API 사용

가능한 경우 페이지에서 어떤 작업이 수행되는지 탐색 데이터를 검색하기 위한 Ajax 호출이 권장됩니다. 그렇다면 스크래핑을 피하고 대신 API와 상호 작용하여 데이터를 직접 얻을 수 있습니다. 이 접근 방식은 일반적으로 스크래핑보다 더 안정적이고 유지 관리가 용이합니다.

위 내용은 웹사이트에서 동적 JavaScript로 생성된 데이터를 어떻게 스크랩할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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