1 import java.io.BufferedReader; 2 import java.io.FileNotFoundException; 3 import java.io.FileReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.URL; 7 import java.util.ArrayList; 8 import java.util.List; 9 import java.util.regex.Matcher; 10 import java.util.regex.Pattern; 11 import java.io.*; 12 13 public class SpiderTest { 14 15 public static void main(String[] args) throws IOException { 16 // TODO 自動生成的方法存根 17 List<String> list =Search(); 18 for(String mail:list) 19 { 20 System.out.println(mail); 21 } 22 } 23 public static List<String> Search() throws IOException{ 24 @SuppressWarnings("resource") 25 //要抓取的網頁 26 URL url =new URL("http://tieba.baidu.com/p/2314539885"); 27 //獲取網頁html文件中的信息 28 BufferedReader buf=new BufferedReader(new InputStreamReader(url.openStream())); 29 //建立一個list來保存數據 30 List<String> list =new ArrayList<String>(); 31 //使用正則表達式來匹配郵箱 32 String main_regex="\\w+@\\w+(\\.\\w+)+"; 33 Pattern p= Pattern.compile(main_regex); 34 String line=null; 35 while((line=buf.readLine())!=null) 36 { 37 Matcher m=p.matcher(line); 38 while(m.find()){ 39 list.add(m.group()); 40 } 41 } 42 return list; 43 } 44 }
一個簡單的網絡爬蟲基本上有這幾步:html
我寫的這個爬蟲是來抓取百度貼吧裏留郵箱的一個頁面中的全部的郵箱。(圖片沒打碼不知道會不會有侵犯隱私的嫌疑)java