這篇博客我們將用java來實現基本的爬蟲數據抓取操作,基本思路就是通過java訪問url,然後拿到返回的html文檔,並用jsoup解析。
首先我們來看下需要抓取的頁面,以我自己的csdn博客列表頁面爲例。我們將每篇博客的鏈接地址,文章標題以及摘要抓取出來。下面是代碼實現:
public class WhxCsdnCrawler {
public static void main(String[] args) {
String userName="hx_wang007";
String csdnUrl="http://blog.csdn.net/"+userName;
Connection conn = Jsoup.connect(csdnUrl);//獲取連接
//設置請求頭,僞裝成瀏覽器(否則會報403)
conn.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36");
try { //設置超時時間,同時Document對象中封裝了返回的html文檔
Document doc=conn.timeout(100000).get();
String url;
String title;
String desc;
//得到博客列表
Element element=doc.getElementsByClass("skin_list").first();
for(Element ele:element.children()){
Element e=ele.getElementsByClass("list_c_t").first().child(0);
url = e.attr("href");
url="http://blog.csdn.net"+url;
title = e.text();
Element e1=ele.getElementsByClass("list_c_c").first();
desc=e1.text();
System.out.println(url+":"+title+":"+desc);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
下面是運行結果: