博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(正则表达式)邮件地址爬虫
阅读量:4050 次
发布时间:2019-05-25

本文共 2853 字,大约阅读时间需要 9 分钟。

这两天看了关于正则表达式的几个问题,想着之前的邮件地址的爬虫程序还不错,简单易懂,适合初学者,有需要的朋友可以参考下。

关于爬虫和正则表达式的知识请各位自己百度或博客。

主要的代码如下,主要是源代码,有些//注释可自行忽略。(大神出门右拐,不谢~)

public class MailCheck {    public static StringBuffer getWebMail(String addressUrl) throws Exception{//      URL url = new URL("http://192.168.56.1:8080/myweb/mail.html");//      URL url = new URL("http://www.douban.com/group/topic/24022171/");        URL url =new URL(addressUrl);        URLConnection conn = url.openConnection();        InputStream in = conn.getInputStream();        BufferedReader bufin = new BufferedReader(new InputStreamReader(in));        String mailreg = "\\w+@\\w+(\\.\\w+)+";//相对不太精确//      String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确        String line = null;        Pattern p = Pattern.compile(mailreg);//      File file = new File("F:\\java_p\\MailFromWeb.txt");//      FileOutputStream out = new FileOutputStream(file);        StringBuffer sbuf = new StringBuffer();        int count = 0;        while((line = bufin.readLine())!=null){            Matcher m = p.matcher(line);            while(m.find()){//              System.out.println(m.group());                ++count;                sbuf.append(m.group());                sbuf.append("\r\n");//              byte[] b = m.group().getBytes();//              for (int i = 0; i < b.length; i++) {
// out.write(b[i]);// }// out.write("\r\n".getBytes()); //换行 } }// out.close(); sbuf.append("总共找到"+count+"个邮箱"); return sbuf; } //还未修改 public static StringBuffer getLocalMail(String addressLocal) throws Exception{// BufferedReader buff = new BufferedReader(new FileReader("F:\\java_p\\webmail.txt")); BufferedReader buff = new BufferedReader(new FileReader(addressLocal)); String mailreg = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配。 String line = null; Pattern p = Pattern.compile(mailreg); StringBuffer sbuf = new StringBuffer();// File file = new File("F:\\java_p\\mail2.txt");// FileOutputStream out = new FileOutputStream(file); int count = 0; while((line = buff.readLine())!=null){ Matcher m = p.matcher(line); while(m.find()){// System.out.println(m.group()+"----"+(++count)); ++count; sbuf.append(m.group()); sbuf.append("\r\n");// byte[] b = m.group().getBytes();// for (int i = 0; i < b.length; i++) {
// out.write(b[i]);// }// out.write("\r\n".getBytes()); //换行 } }// System.out.println("总共找到"+count+"个邮箱");// out.close(); sbuf.append("总共找到"+count+"个邮箱"); return sbuf; }}

简单的界面(初学者,大神勿喷):

网络地址爬虫:
这里写图片描述

这里写图片描述

本地地址爬虫:

这里写图片描述

邮箱地址爬虫工具,我已经上传到CSDN,各位有需要的可下载,链接如下:

为了满足初学者(大神请忽略)的好奇心,我还是把源代码上传吧:

你可能感兴趣的文章
2440机器码
查看>>
c语言内存分配
查看>>
结构体file_operations
查看>>
TFT LCD
查看>>
双向链表
查看>>
二级指针与指针数组的关系
查看>>
Linux系统限制
查看>>
C预处理器标识
查看>>
static用法总结
查看>>
const用法小结
查看>>
malloc、free与内存碎片
查看>>
C语言实现库函数
查看>>
Tarball的管理
查看>>
变量在Linux中的应用
查看>>
对象的深拷贝
查看>>
父组件访问子组件属性--方法--
查看>>
组件访问--子组件访问父组件(很少用)
查看>>
获取子组件插槽里面的 数组----数据
查看>>
es6模块化---记录
查看>>
webpack的配置使用------记录
查看>>