이제 크롤링 웹 사이트에서 일부 데이터를 가져 오려고했습니다.GDownloadUrl 콜백에서 js var 데이터를 가져 오는 방법은 무엇입니까?
대상 웹 사이트는 Google지도를 사용하여 자전거 방송국의 현재 상태를 제공합니다.
GDownloadUrl("/mapAction.do?process=statusMapView", function(data, responseCode) {
var jsonData = eval("(" + data + ")");
//alert(jsonData.centerLat);
var length = jsonData.markers.length;
//if (length > 100) length = 100;
for (var i = 0; i < length; i++) {
var point = new GLatLng(parseFloat(jsonData.markers[i].lat), parseFloat(jsonData.markers[i].lng));
var name = jsonData.markers[i].name;
var cntRackTotal = jsonData.markers[i].cntRackTotal;
var cntRentable = jsonData.markers[i].cntRentable;
var cntLockOff = jsonData.markers[i].cntLockOff;
var cntPrtRack = jsonData.markers[i].cntPrtRack;
var percent = jsonData.markers[i].percent;
var imgFile = jsonData.markers[i].imgFile;
var number = jsonData.markers[i].kiosk_no;
//map.addOverlay(createMarker(number, point, name, cntRackTotal, cntRentable, cntLockOff, cntPrtRack, percent, imgFile));
}
});
이 JS 소스 코드는 대상 웹 사이트에서 사용됩니다. GDownloadUrl 콜백 함수에서 매개 변수 "data"는 자전거 스테이션의 현재 상태를 포함합니다. 데이터를 얻고 싶습니다. 이제 python 셀렌과 execute_script()를 사용해 보았습니다.
jsSourcecode = ("var strData;"+
"strData = GDownloadUrl('/mapAction.do?process=statusMapView',"+
" function(data, responseCode) {return data;}); return strData;")
data = driver.execute_script(jsSourcecode)
이 소스 코드는 데이터를 가져 오는 데 사용 된 것입니다. 콜백에 대한 데이터가 var strData에 저장되고 execute_script()의 반환 값이 데이터가 될 것으로 예상됩니다. 하지만 반환 값은 "True"입니다.
js에 대한 지식이 거의 없습니다. 어떻게 데이터를 가져올 수 있습니까? 제발 도와주세요