繁体   English   中英

使用Java中的JSOUP从网站获取特定数据?

[英]get specific data from website using JSOUP in Java?

我是HTML / CSS初学者,所以我对Selector(cssQuery)知之甚少...我只想获取红色矩形中的特定数据,如链接中的图片所示。 请帮助我,谢谢。

格式:
标题,URL,位置,内容

这是代码:

public class TestJSOUP {
    public static void main(String[] args) throws Exception{
        Document doc = Jsoup.connect("http://scholarship-positions.com/category/under-graduate-scholarship/").get();

        Elements body = doc.getElementsByTag("a");
        for (Element b : body) {
            System.out.println(b.attr("href"));
            System.out.println(b.text());
        }  
    }        
}

这是图像-https : //i.stack.imgur.com/52Gbb.jpg

该网站限制抓取工具。 所以你需要像下面这样指定UserAgent

Document doc = Jsoup.connect("http://scholarship-positions.com/category/under-graduate-scholarship/")
                    .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36")
                    .get();
Elements es = doc.select("article");
for (Element b : es) {
            String title = b.select("a[href], [title]").get(0).text();
            String url = b.select("a[href]").get(0).attr("href");
            String place = b.select("li.custom-fields-ak-organization").get(0).text();
            String content = b.select("section.entry").get(0).text();
            System.out.println(title + url + place + content);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM