我试图从网站上抓取数据,但我发现我想要获取某些数据的某段代码在页面的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();
答案 0 :(得分:1)
如果你确定评论中的html是有效的,你可以简单地删除它们,然后解析生成的html:
String html = doc.html();
html = html.replaceAll("<!--", "").replaceAll("-->", "");
doc = Jsoup.parse(html);