首页 > 代码库 > Java爬虫
Java爬虫
1.昨天复习了Java基础(I/O流)和正则表达式
今天不讲Java中的 I/O
主要用一个实例来爬取网站中的邮箱
代码如下:
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 }
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.后附一张正则表达式图(经过测试验证,如有错误欢迎指正)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。