Java 使用jsoup库删除注释数据(<;!-->>;),即其中的数据
我试图从一个网站上抓取数据,但我发现我想从中获取数据的某段代码在页面的HTML中有注释,也就是说,它位于这些注释标记中。 是否有可能获得这些数据?如果有,有效的方法是什么。 此外,页面中使用的文本与这些评论中的文本相似。 下面是一段html代码:Java 使用jsoup库删除注释数据(<;!-->>;),即其中的数据,java,jsoup,Java,Jsoup,我试图从一个网站上抓取数据,但我发现我想从中获取数据的某段代码在页面的HTML中有注释,也就是说,它位于这些注释标记中。 是否有可能获得这些数据?如果有,有效的方法是什么。 此外,页面中使用的文本与这些评论中的文本相似。 下面是一段html代码: <!--<div class="contact-price clearfix"> <h3>Contact For Price</h3>
<!--<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>
如果您确定注释中的html有效,只需删除它们,然后解析生成的html:
String html = doc.html();
html = html.replaceAll("<!--", "").replaceAll("-->", "");
doc = Jsoup.parse(html);
String html=doc.html();
html=html.replaceAll(“,”);
doc=Jsoup.parse(html);
BeautifulSoup Python可能是该问题解决方案的重复。然而,我在JSoup库中使用Java,如果您确信注释中的html是有效的,您可以简单地删除它们,然后解析生成的html:String html=doc.html();html=html.replaceAll(“,”);doc=Jsoup.parse(html)代码>为我工作。。谢谢陆。但是如果html无效,我该怎么办?Jsoup可以处理一些无效的情况。如果你的HTML不能被Jsoup解析,你可以在解析之前操作HTML,使其工作,或者你应该考虑将它自己解析为一个简单的字符串。
String html = doc.html();
html = html.replaceAll("<!--", "").replaceAll("-->", "");
doc = Jsoup.parse(html);