我不想要获取"分享"和"推特"我在这个页面上抓取列表项时的关键字无论如何我都可以修复,直到我的抓取应该为我带来哪些标记数据
<div id="main-content" tabindex="-1" role="main">
<ul>
<li>Comedones .</li></ul><ul>
<li>Papules </li>
<li>Pustules (pimples)</li>
<li>Nodules</li>
<li>Cysts</li></ul>
<h3>When to see a doctor</h3><p>Acne diminished. </p>
<div class="auto-mobile"></div>
<menu class="social">
<ul><li><a href="http://www.facebook.com/sharer" class="facebook" >Share</a> </li>
<li><a href="http://twitter.com/home?status="class="twitter" >Tweet</a></li>
</ul></menu>
我写的代码来获取li标签
Document doc2;
doc2=Jsoup.connect("http://www.mayoclinic.org/diseases-conditions/acne/basics/symptoms/con-20020580").get();
Elements ddd1=doc2.select("div#main-content ul li");
for(Element a2: ddd1)
{
System.out.println( a2.text());
}
答案 0 :(得分:0)
似乎&#34;分享&#34;和&#34;鸣叫&#34; <li>
条目嵌入<menu></menu>
构造中。如果您想要的所有其他<ul><li></li></ul>
条目都直接位于主div#main-content
下,那么您可以将css选择器更改为:
Elements ddd1=doc2.select("div#main-content>ul li");
说明:div#main-content>ul
包含>
,表示ul
条目必须是div#main-content
的直接子项。
但是,如果结构中还有其他<li>
个条目,则可以在应用原始选择器后过滤掉链接:
for(Element a2: ddd1)
{
if (a2.text().equals("Share") || a2.text().equals("Tweet")) continue;
//now do your stuff
System.out.println( a2.text());
}