java編程實現簡單的網絡爬蟲示例過程

本項目中需要用到兩個第三方jar包,分別為 jsoup 和 commons-io。

jsoup的作用是為瞭解析網頁, commons-io 是為瞭把數據保存到本地。

1.爬取貼吧

第一步,打開eclipse,新建一個java項目,名字就叫做 pachong:

然後,新建一個類,作為我們程序的入口。

這個作為入口類,裡面就寫一個main方法即可。

public class StartUp {
	public static void main(String[] args) {
		
	}
}

第二步,導入我們的依賴,兩個jar包:

右鍵jar包,Build path , add to Build path

接著,我們試著搜索一下動漫吧的數據:

https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5

public class StartUp {

	public static void main(String[] args) {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);
		System.out.println(connect);
	}
}

如果能夠成功打印出來鏈接,說明我們的連接測試是成功的!

然後,我們調用connect的get方法,獲取鏈接到的數據:

Document document = connect.get(); 

這邊需要拋出一個異常,而且是強制性的,因為有可能會獲取失敗。這邊我們直接拋出去,不去捕獲。

public class StartUp {

	public static void main(String[] args) throws IOException {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);
		System.out.println(connect);
		
		Document document = connect.get(); 
		System.out.println(document);
	}
}

打印出來的結果:

可見,document對象裝的就是一個完整HTML頁面。

在這裡,我們想要拿到的第一個數據,就是所有帖子的標題:

我們發現,每一個標題都是一個a連接,class為j_th_tit 。

下一步我們就考慮獲取所有class為 j_th_tit 的元素。

我們發現,document對象給我們提供瞭 getElementsByClass 的方法,顧名思義,就是獲取class為 XXX 的元素。

Elements titles = document.getElementsByClass("j_th_tit");

接著,遍歷titles,打印出每一個標題的名稱:

for (int i = 0; i < titles.size(); i++) {
	System.out.println(titles.get(i).attr("title"));
}

當前代碼:

import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class StartUp {
	public static void main(String[] args) throws IOException {
		String url = "https://tieba.baidu.com/f?kw=%B6%AF%C2%FE&tpl=5";
		Connection connect = Jsoup.connect(url);		
		Document document = connect.get(); 		
		Elements titles = document.getElementsByClass("j_th_tit");		
		for (int i = 0; i < titles.size(); i++) {
			System.out.println(titles.get(i).attr("title"));
		}		
	}
}

以上就是java編程實現簡單的網絡爬蟲示例過程的詳細內容,更多關於java實現網絡爬蟲的資料請關註WalkonNet其它相關文章!,希望大傢以後多多支持WalkonNet!

推薦閱讀: