我是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);
}