2017-11-10 19 views
0

웹 사이트에서 api가 없기 때문에 csgo 통계를 가져오고 싶습니다. 웹 사이트에서 긁어 내려고 시도하고 있습니다. 웹 사이트를로드하는 방법을 알고 있습니다. 같은 메인 페이지를 인쇄하지만, 대부분은 아래에서 볼 수있는 것과 같은 이름을 가지고 있기 때문에 특정 값을로드하는 방법을 알아낼 수 없습니다. 나는 win %의 가치와 kd의 값을 얻으려고 시도하고 있지만, 두 클래스 모두 "stats-stat"라고 불리우는 어떤 식 으로든 이것을 할 수 있습니까?같은 이름으로 다른 값을 가져 오는 html 스크래핑

내 코드는 다음과 같습니다

var UR_L = "http://csgo.tracker.network/profile/blind_snip"; 

request(UR_L, function(err, resp, body){ 
    var $ = cheerio.load(body); 
    console.log(body) 
}) 

enter image description here

UPDATE : 내 작업 코드 :

var UR_L = "http://csgo.tracker.network/profile/blind_snip"; 

request(UR_L, function(err, resp, body){ 

    $ = cheerio.load(body); 
    var ele = $('.stats-stat').eq(13).text(); 
     ele2 = $.parseHTML(ele)[0].data; 
     console.log(ele2); 


     //0 = KD 
     //1 = win% 
     //2 = games 
     //3 = wins 
     //4 = headshots 
     //5 = money earned 
     //6 = score 
     //7 = kills 
     //8 = Deaths 
     //9 = MVP 
     //10 = time played 
     //11 = Rounds played 
     //12 = rounds won 
     //13 = bombs set 
     //14 = bombs defused 
     //15 = hostages rescued 
    }) 

감사 사람들

답변

0

내가 문자열 값을 받고으로까지 가지고, 당신은 정규 표현식을 사용하여 필요한 부분을 얻을 수 있습니다. 당신이 ele를 그냥 콘솔한다면,/n/n으로 시작하는 것을 볼 수있을 것입니다. 또한 .eq를 사용하고 내가 원하는 인덱스를 선택한다는 것을 알아 두십시오. 대신 쿼리 선택기를 반복 할 수 있습니다.

request(UR_L, function(err, resp, body){ 

    $ = cheerio.load(body); 
    var ele = $('.stats-stat').eq(1).text(); 
    console.log($.parseHTML(ele)[0].data); 

}) 
+0

감사합니다. 지금 살펴보고 가치를 얻으려고합니다. 도움을 주셔서 감사합니다. –