簡體   English   中英

使用Java中的JSOUP從onclick屬性獲取URL

[英]Get URL from onclick attribute with JSOUP in java

我是Jsoup的新手,我正試圖從onclick屬性獲取URL,該屬性調用一個名為ga的函數,該函數具有五個參數,因此它看起來像這樣ga('send', 'event', 'tunein', 'playjp', 'http://link that i want to get'); ,我想獲取http網址。

我嘗試過使用attr("onclick")選項,但是它根本不起作用,您知道是否有機會以某種方式獲得此功能。

您確定自己在正確的節點上嗎?

node.attr(“ onclick”)應該可以工作

您可以張貼您要剪貼的頁面的鏈接,以及如何到達該節點嗎?

public void jsoupParse() throws IOException {
        Document doc = Jsoup.connect("https://www.internet-radio.com/station/dougeasyhits/").get();
        Element image = doc.select("div.jp-controls").select("i").get(0); //get the first image (play button)
        String onclick = image.attr("onclick");
        System.out.print(onclick);

    }

輸出:

ga('send', 'event', 'tunein', 'playjp', 'http://airspectrum.cdnstream1.com:8114/1648_128.m3u');

現在您需要做的就是使用'split'方法處理字符串以提取url:

Document doc = Jsoup.connect("https://www.internet-radio.com/station/dougeasyhits/").get();
    Element image = doc.select("div.jp-controls").select("i").get(0); //get the first image (play button)
    String onclick = image.attr("onclick");
    String[] parts = onclick.split("'"); //i split the string in an array of strings using [ ' ] as separator
    String url = parts[9]; //the url is contained in the 10th element of the array
    System.out.println(onclick);
    System.out.print(url);

產量

    ga('send', 'event', 'tunein', 'playjp', 'http://airspectrum.cdnstream1.com:8114/1648_128.m3u');
http://airspectrum.cdnstream1.com:8114/1648_128.m3u

如果您感到困惑,這就是“ onclick”屬性的拆分方式:

parts[0] : "ga("
parts[1] : "send"
parts[2] : ", "
parts[3] : "event"
parts[4] : ", "
parts[5] : "tunein"
parts[6] : ", "
parts[7] : "playjp"
parts[8] : ", "
parts[9] : "http://airspectrum.cdnstream1.com:8114/1648_128.m3u"
parts[10] : ");"

暫無
暫無

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

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