首页 > 编程语言 > 详细

Java爬虫

时间:2014-05-29 05:08:30      阅读:381      评论:0      收藏:0      [点我收藏+]

1.昨天复习了Java基础(I/O流)和正则表达式

   今天不讲Java中的 I/O

 主要用一个实例来爬取网站中的邮箱

代码如下:

bubuko.com,布布扣
 1 package com.miao.baba.pacong;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.io.InputStreamReader;
 7 import java.net.URL;
 8 import java.net.URLConnection;
 9 import java.util.regex.Matcher;
10 import java.util.regex.Pattern;
11 
12 public class Reptile {
13 
14     public static void main(String[] args) throws IOException {
15         String email = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)+";
16         Pattern p = Pattern.compile(email);
17         URL url = new URL("http://acm.hrbust.edu.cn");
18 
19         URLConnection conn = url.openConnection();
20 
21         InputStream in = conn.getInputStream();
22         InputStreamReader isr = new InputStreamReader(in);
23         BufferedReader br = new BufferedReader(isr);
24 
25         String line = null;
26         while ((line = br.readLine()) != null) {
27             Matcher m = p.matcher(line);
28 
29             while (m.find()) {
30                 System.out.println(m.group());
31             }
32         }
33         br.close();
34     }
35 }
View Code

2.为了让大家好好认识正则表达式下面对代码中的正则表达式进行分析

[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)+

分析:

[a-zA-Z0-9_]+   : 表示匹配a~z和A~Z和0~9和_ 中的多个

@   : 表示匹配 @

[a-zA-Z0-9]+ : 表示匹配a~z和A~Z和0~9中的多个

(\\.[a-zA-Z0-9]+)+  : 表示匹配 . 和a~z和A~Z和0~9中的多个

 

3.后附一张正则表达式图(经过测试验证,如有错误欢迎指正)

bubuko.com,布布扣

 

 

Java爬虫,布布扣,bubuko.com

Java爬虫

原文:http://www.cnblogs.com/sxmcACM/p/3753893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!