【问题标题】:Web Scraping with JSOUP [duplicate]使用 JSOUP 进行网页抓取 [重复]
【发布时间】:2015-07-21 03:38:45
【问题描述】:

我是新手。我正在尝试使用 JSOUP 从站点中抓取数据。我想从<div><span><p> 等标签中抓取数据。谁能告诉我该怎么做?

【问题讨论】:

  • 请告诉我们,到目前为止,您已经尝试过什么,SO 不是神奇地获取代码的地方。
  • 我刚刚做了一个新项目并添加了一个jsoup jar文件并建立了连接。我实际上是新手。如上所示,我想废弃驻留在不同标签中的数据。请帮帮我

标签: java jsoup


【解决方案1】:

检查this。一个基本的例子:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Test {

    public static void main(String[] args) throws Exception {
        String url = "https://stackoverflow.com/questions/2835505";
        Document document = Jsoup.connect(url).get();

        String text = document.select("div").first().text();
        System.out.println(text);

        Elements links = document.select("a");
        for (Element link : links) {
            System.out.println(link.attr("href"));
        }
    }

}

这会先打印页面上第一个div的文字,然后打印出页面上所有链接(a)的所有url。


要获取具有特定类的 div,请执行 Elements elements = document.select("div.someclass")

要获取具有特定 id 的 div,请执行 Elements elements = document.select("div#someclass")

如果要遍历所有选定的元素,请执行以下操作:

for (Element e:elements) {
   System.out.println(e.text());
   //you can also do other things.
}

【讨论】:

  • 感谢 JonasCz,亲爱的,这首先是关于其他 div 和具有特定类名和 id 的 div 的情况
  • @MuhammadWaqas,我已经更新了答案。
  • JonasCz 谢谢人...
  • @MuhammadWaqas,如果我的回答对您有帮助,最好点击旁边的复选标记接受 :-)
猜你喜欢
  • 1970-01-01
  • 2015-02-27
  • 2018-10-15
  • 2013-10-26
  • 2019-04-14
  • 1970-01-01
  • 2019-09-08
  • 2013-01-02
  • 2018-09-08
相关资源
最近更新 更多