有了上两篇的文章,这篇简单的将两篇文章结合起来,得到一个可以抓取,搜狐新闻首页的所有新闻。
package com.sohu;
import java.io.IOException;
import java.util.*;
import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class ClawerMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Document doc = Jsoup.connect("http://news.sohu.com/").get();
Elements links = doc.select("a[href]");
for(Element link : links){
String StrUrl = link.attr("abs:href");
if(StrUrl.startsWith("http://news.sohu.com/2016"))//抓2016年的新闻
{
System.out.println(StrUrl);
try {
Document TempDoc;
TempDoc = Jsoup.connect(StrUrl).get();
Elements h = TempDoc.select("h1[itemprop]");//标题
System.out.println(h.text());
Elements time = TempDoc.select("div.time");//时间
System.out.println(time.text());
Elements source = TempDoc.select("div[class=source]");//来源
System.out.println(source.text());
Elements body = TempDoc.select("div[itemprop=articleBody]");//内容
System.out.println(body.text());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
得到的结果如下: