【发布时间】:2021-08-14 04:25:05
【问题描述】:
我目前正在使用 Jsoup 和 Java 制作文章内容提取应用程序。我的问题是当我抓取文章时,Jsoup 倾向于返回元素列表而不是保留文章的顺序。例如,在具有多于 1 个图像的普通文章中,它的顺序可能是这样的:(标题,sapo,图像,段落,图像,段落,段落,图像,段落)。那么如何在不丢失其顺序的情况下抓取网站的主要内容(文本和图像链接)? 以下是我的想法,但它不起作用。
int cur = 0;
Document doc = Jsoup.connect(url).get();
Elements elements = doc.select("div");
for (Element element : elements) {
if (element.select("div[type=\"Photo\"] img").hasAttr("src")) {
Elements temp = element.select("div[type=\"Photo\"] img");
System.out.println(temp.get(cur).attr("src"));
cur++;
}
System.out.println(element.select("p span").text());
System.out.println("");
}
【问题讨论】:
-
您能否提供一个您想要抓取的示例 html 页面和所需的输出?
-
这是一篇有视频和一些文字的文章:vnexpress.net/cuoc-hop-bao-dau-tien-cua-taliban-4342403.html,这是一篇只有文字和图片的文章:vnexpress.net/…
-
我尝试对其进行设计,使其能够删除文章主要内容中的任何内容
-
什么是"sapo"?
-
sapo 可以看作是对那篇文章的描述,用来吸引读者点击那篇文章
标签: java web-scraping jsoup