동적 웹페이지 크롤링
본문
현재 simple html dom 파서로 동적 웹페이지를 크롤링할려고 하는데
html 값을 가져오면 동적으로 처리되어 지는 부분의 값이 넘어오지 않고 있습니다.
페이지가 스크립트까지 완전히 로딩된 후 html 값을 불러올 수 있는 방법이 있을까요???
고수님들의 의견 부탁드립니다.
답변 5
예상대로 ajax로 가져오는 형태입니다.
http://www.wemakeprice.com/c/deal_option/get_option_info/3731661
또는 캐싱을 방지하기 위해서 아래처럼 timestamp를 추가하시면 됩니다.
http://www.wemakeprice.com/c/deal_option/get_option_info/3731661?_=1528970517325
php로는 어려울거 같고요.
nodejs + phamtomjs 면 가능하지 않을까 합니다.
페이지를 알려주시면 답변에 도움이 될것 같네요.
동적이라고 얘기하신 부분이 실제 동적 페이지가 아니라 ajax일수도 있습니다.
확인해보니 json으로 되어 있네요
http://www.wemakeprice.com/c/deal_option/get_option_info/3731661?_=1528970257126
result_set{
options_info{
list:[
{key:xxxx, value: vvvvvv},
{key:xxxx, value: vvvvvv},
{key:xxxx, value: vvvvvv},
....
]
}
}
위와 같은 구조로 되어 있습니다.
$.ajax({
url: 해당옵션주소,
type: 'get',
dataType: 'json'
}).done(function(result){
for(var idx in result_set.options_info.list){
var item = result_set.options_info.list[idx];
console.log(item.value); //<=== 요기에 옵션값이 들어 있습니다.
}
});
위와같이 브라우저상에서 javascript 로 가져 올수도 있고요
만약 서버에서 php로 가져오려면 해당 url을 php curl로 가져와서
$result = 긁어온데이타;
$data = json_decode($result);
print_r($data);
이렇게 해서 접근하실 수 있겠네요.
보통 동적페이지는 json이나 기타형태로 따로 호출을 하여 가져옵니다.
http분석시 해당 데이타를 가져오는 url을 확인 후 작업하시면 될 듯합니다.