簡體   English   中英

使用Jsoup獲取腳本標簽內的文本

[英]Obtain text within script tag using Jsoup

如何使用Jsoup獲得價值http://api.tivi8k.net/viettel/?cid=154&token=-OWPRmOicPqIKsK97SmOlQ&e=1500542988

在此處輸入圖片說明

HTML:

 xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "http://api.tivi8k.net/viettel/?cid=154&token=-OWPRmOicPqIKsK97SmOlQ&e=1500542988", false); xmlhttp.send(); link = xmlhttp.responseText; player = new Clappr.Player({ source: link, parentId: '#player', width: '100%', height: "100%", hideMediaControl: true, mediacontrol: { seekbar: "#ffaa56", buttons: "#ff7f00" }, autoPlay: true }); 
 html, body { margin: 0; padding: 0; background: #000; ; } 
 <div style="width: 100%;"> <div id="player"></div> </div> <img src="sv2.png" style="position:absolute;top:5px;right:10px" /> 

Java代碼

try {
    String userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36";
    Document doc = Jsoup.connect("http://m.xemtvhd.com/vtv1.php").userAgent(userAgent).get();

    String url = doc.select("#xmlhttp.open").first().attr("data-source");

    System.out.println(url);

} catch (IOException e) {
    e.printStackTrace();
}

請支持 。 感謝支持

這段代碼將接受所有<script>元素並遍歷每個元素,然后將檢查是否是他所希望的行 pattern在此處,如果matches ,則將使用group(1) (代表捕獲組(.*)group(0)是整行):

Elements script = doc.select("script");
Pattern p = Pattern.compile("xmlhttp.open\\(\"GET\", \"(.*)\", 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); //-> http://...542988

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM