繁体   English   中英

Java中的HTML解析?

[英]HTML parse in Java?

我正在尝试使用jsoup解析网站中的一些特定文本,但是它对我不起作用。 链接到网站

我在页面右上方感兴趣的是红色文本中的数字“ 43”。

这是我尝试的:

String test;

public void scan(String url) throws Exception {

    Document document = Jsoup.connect(url).get();        
    Elements votes = document.select("#malicious-votes .pull-right");
    test = votes.text();
}

public int returnVotes(){
    return test();
}

~~~

public static void main(String[] args) throws Exception {

    Scan_VirusTotal virustotal = new Scan_VirusTotal();     
    virustotal.scan("https://www.virustotal.com/sv/url/cbf2d00f974d212b6700e7051f8b23f2038e876173066af41780e09481ef1cdd/analysis/1407146081");      
    System.out.println(virustotal.returnVotes());

这不会打印任何内容。 其他元素也可以使用这种精确方法很好地工作,因此,我对为什么无法解析此特定文本感到非常困惑。

想法? 谢谢。

编辑-根据要求从页面添加了一些HTML:

<div style="display:block" class="pull-right value text-red" id="malicious-votes">44</div>

尝试使用此代替:

Elements votes = document.select("#malicious-votes");
test = votes.text();

我在给定页面的浏览器控制台中尝试了这个$("#malicious-votes .pull-right") ,给了我一个空数组。 但是$(“#malicious-votes”)给我的表决div本身具有pull-right类别。

您的选择器应为:

"#malicious-votes" ,而不是"#malicious-votes .pull-right"

"#malicious-votes .pull-right"选择所有属于#malicious-votes后代的pull-right类元素。 您想要的是#malicious-votes元素本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM