gpt4 book ai didi

java - 在java中使用JSOUP从onclick属性获取URL

转载 作者:行者123 更新时间:2023-12-02 09:55:09 24 4
gpt4 key购买 nike

我是 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”方法操作字符串来提取网址:

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] : ");"

关于java - 在java中使用JSOUP从onclick属性获取URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com