웹 페이지에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!