码迷,mamicode.com
首页 > 编程语言 > 详细

Java爬虫

时间:2014-05-29 05:11:03      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:style   c   class   blog   code   java   

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爬虫

标签:style   c   class   blog   code   java   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!