使用jsoup库废弃注释数据(<! - - >),即其中的数据

时间:2018-03-29 07:14:57

标签: java jsoup

我试图从网站上抓取数据,但我发现我想要获取某些数据的某段代码在页面的HTML中被注释,即它位于这些注释标记内。 是否有可能得到这些数据,如果是,有效的方法是什么。 此外,页面中使用与这些注释中相似的文本。 下面是一段HTML代码:

    <!--<div class="contact-price clearfix">
                        <h3>Contact For Price</h3>
                        <div class="user-online clearfix">
                            <div class="user-status">
                                <div class="status-active"></div>

                            </div>
                            <a href="#">View Complete Profile</a>
                        </div>

                        <div class="user-contact">
                            <button class="btn-default btn-primary" onclick="checkonline(305654806,event,246)">Chat Now</button>
                            <p class="call-number">
                                <i class="icon-phone"></i>
                                +91 0000000000
                                <span class="verifi"></span>
                            </p>
                            <a href="#" class="message"><i class="icon-messages"></i> Send free SMS</a>
                        </div>
                    </div>
    -->


    <div class="contact-price clearfix">
        <h3> </h3>
        <div class="user-online clearfix">
            <div class="user-status">
                <div class="status-active"></div>
                    laser07
            </div>
            <a href="com/userProfile?uId=BWYAYgc0U2VTYlJiAWcFaFE1">View Complete Profile</a>
        </div>
        <div class="user-contact clearfix ">
            <button class="btn btn-default" onclick="checkonline(305654806,event,246)">Chat Now</button>
        </div>
        <div class="user-contact user-details clearfix">
            <div class="clearfix phn-email">
                <p class="call-number">
                    <i class="icon-mobile-phones"></i>
                     XXXXXXXXXX00
                    <span class="verify"></span>
                </p>
                <p class="call-number">
                    <i class="icon-email"></i>
                    xxxxxxxx@gmail.com
                </p>
            </div>
            <button  id ="reCaptchaGetContactDetails" class="btn btn-primary g-recaptcha  contact-details " >Contact</button>
        </div>
    </div>

我想从代码的上半部分抓取数据,即在这些注释标记之间。说我想在p标签内找到联系号码0000000。我将如何得到它,因为每次运行我的代码时我都会得到一个空指针:

Element elementphone = doc.select("div.contact-price").first().select("div.user-contact").first().select("p.call-number").first();

            Phone = elementphone.text();

1 个答案:

答案 0 :(得分:1)

如果你确定评论中的html是有效的,你可以简单地删除它们,然后解析生成的html:

String html = doc.html(); 
html = html.replaceAll("<!--", "").replaceAll("-->", ""); 
doc = Jsoup.parse(html);