我想从link中提取新闻帖,我试过的是使用此代码按类名选择它
Document document = Jsoup.connect(newsLink).get();
Elements element = document.getElementsByClass("sty_txt");
story = element.text();
问题是该网站在.sty_txt
内有一个内部div标记用于共享选项。当我在我的应用程序中填充上述代码的结果时段落以share(3次)开头。
现在如何删除此共享选项和其他杂乱内容才能显示文章?
答案 0 :(得分:1)
或者,您只能使用CSS选择器:
Document doc = Jsoup.connect(newsLink).get();
story = doc.select("div.sty_txt p:not(:has(span.st_readmore_sp))").text();
答案 1 :(得分:0)
您可以从.sty_txt
元素中删除一些孩子:
Document document = Jsoup.connect(newsLink).get();
Element element = document.getElementsByClass("sty_txt").first();
Elements children = element.children();
for (Element child : children) {
Elements subChildren = child.children();
if(child.hasClass("share-icons-box") || child.hasClass("story_tag_smo") ||
(subChildren.size() > 0 && subChildren.first().hasClass("st_readmore_sp"))){
child.remove();
}
}
String story = element.text();
System.out.println("Story: " + story);
此代码将删除共享按钮,标签和阅读更多链接。