2016-12-26 2 views
-1

나는 해결책을 URL에서 일부 콘텐츠를 잡고 싶어.Cheerio를 사용하여 웹 데이터를 긁는 방법?

나는 server.js 코드를 가지고 :

{ 
    http://abc[dot]com/video34345453.mp4, 
    http://abc[dot]com/video43243234.mp4 
} 

감사합니다 모든 솔루션 :

<html> 
    <head> 
     <title>Website Title</title> 
    </head> 
    <body> 
     <script> 
      getplayer.setvd1('http://abc[dot]com/video34345453.mp4'); 
      getplayer.setvd2('http://abc[dot]com/video43243234.mp4'); 
     </script> 
    </body> 
</html> 

내가 출력으로 원하는 : 그것은 HTML을 반환

let request = require('request'); 
let cheerio = require('cheerio'); 

let url = "domain[dot]com/title-to-video"; 
request(url, function(error, response, html){ 
    if (!error && response.statusCode == 200) { 
     let $ = cheerio.load(html); 
     console.log($.text()); 
    } else { 
     console("We've encountered an error: " + error); 
    } 
}); 

.

var $ = cheerio.load(html), 
    script = $('script').text(), 
    scriptParts = script.split(';'); 

console.log('{'); 

for (var i = 0; i < scriptParts.length; i++) { 
    if (scriptParts[i].trim().length > 0) { 
     var startPosition = scriptParts[i].indexOf('(') + 2, 
      endPosition = scriptParts[i].indexOf(')') - 1; 
     console.log(scriptParts[i].slice(startPosition, endPosition) + ','); 
    } 
} 

console.log('}'); 

답변

0

, 같은 해보십시오.

1) $를 ('스크립트') (수) [0] .attribs을 [// 속성 이름]

2) let $ = cheerio.load (html, {xmlMode : false});

+0

오류'TypeError : cheerio.load (...). find는 함수가 아닙니다. 'find는 jQuery입니다. –

0
다음과 같이 스크립트 콘텐츠에 액세스 할 수 있습니다

: 당신의 if 문에서

관련 문제