2017-07-25 69 views
0

我想代碼獲取價值流但失敗。我無法從腳本獲得價值jsoup

如何獲得價值流:http://123.30.215.65/hls/4545780bfa790819/5/3/d836ad614748cdab11c9df291254cf836f21144da20bf08142455a8735b328ca/dnR2MQ==_m.m3u8使用Jsoup?

<html> 
 
<head> 
 
    <style>html,body{margin:0;padding:0;background:#000;;}</style> 
 
    <meta charset="utf-8"> 
 
    <script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
 
    <script type="text/javascript" src="https://cdn.jsdelivr.net/clappr/latest/clappr.min.js"></script> 
 
    <meta name="referrer" content="no-referrer"> 
 
</head>  
 
<body> 
 
    <div style="width: 100%;"> 
 
    </div> 
 
    <div id="player"></div> 
 
    <script> 
 
\t player = new Clappr.Player({source: "http://123.30.215.65/hls/4545780bfa790819/5/3/d836ad614748cdab11c9df291254cf836f21144da20bf08142455a8735b328ca/dnR2MQ==_m.m3u8", 
 
\t \t \t parentId: '#player', 
 
\t \t \t width: '100%', height: "100%", 
 
\t \t  hideMediaControl: true, 
 
\t \t  autoPlay: true 
 
\t \t \t \t \t   }); \t 
 
\t </script> 
 
</body> 
 
</html>

Java代碼我:

Elements script = doc.select("script"); 
Pattern p = Pattern.compile("player = new Clappr.Player(\\(\"source:{\", \"(.*)\", false\\)"); 
                // ^^ is the capturing group 
String url = ""; 

for (Element element : script) { 
    Matcher m = p.matcher(element.data()); 
    if (m.find()){ 
     url = m.group(1); 
    } 
} 
System.out.println(url); 
+1

嘗試'Pattern.compile(「player = new Clappr.Player \\(\\ {source:\」(。*?)\「」)' – saka1029

+0

@ saka1029您應該可以作出回答 –

+0

我嘗試但不成功:( –

回答

0

嗨試試這個在你的代碼,

String ResultString = null; 
try { 
    Pattern regex = Pattern.compile("source:\\s[\"](.*?[^\\\\])[\"]", Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.MULTILINE); 
    Matcher regexMatcher = regex.matcher(subjectString); 
    if (regexMatcher.find()) { 
     ResultString = regexMatcher.group(1); 
    } 
} catch (PatternSyntaxException ex) { 
    // Syntax error in the regular expression 
} 

這就像一個魅力..! :)

+0

是的。謝謝你的支持,但不理解subjectString。請支持 –

+0

@XuânMai你不明白'subjectString',那麼你可以快速研究['matcher'](https://docs.oracle.com/javase/ 7/docs/api/java/util/regex/Pattern.html#matcher(java.lang.CharSequence))函數來理解它。在這種情況下,'subjectString'就是你的'element.data )'上面,你需要編譯@Shankara的回答你的循環 –

+0

@XuânMai,s ubjectString是您從Element獲得的腳本值 –