java中使用 正则 抓取邮箱

我们来抓取豆瓣网的邮箱吧!把这个页面的所有邮箱都抓取下来

https://www.douban.com/group/topic/8845032/

代码如下:

package cn.zhangzong.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则抓取邮箱
 * @author happy
 *
 */
public class Test {
  public static void main(String[] args) throws IOException {
     //1.1   创建一个url对象
      URL url = new URL("https://www.douban.com/group/topic/8845032/");
     //1.2  打开连接
      URLConnection conn = url.openConnection();
     //1.3  设置连接网络超时时间   单位为毫秒
      conn.setConnectTimeout(1000 * 10);
     //1.4  通过流 操作读取指定网络地址中的文件
      BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
      String line = null;
     //1.5 匹配email的正则
      String regex = "[a-zA-Z0-9_-][email protected]\\w+\\.[a-z]+(\\.[a-z]+)?";
     //1.6 使用模式的compile()方法生成模式对象
      Pattern p = Pattern.compile(regex);
     //1.7 遍历打印
      while((line = bufr.readLine()) != null) {
          Matcher m = p.matcher(line);
          while(m.find()) {
              System.out.println(m.group());// 获得匹配的email
          }
      }
  }
}

结果:

是不是很神奇呀!

时间: 2024-12-19 18:52:49

java中使用 正则 抓取邮箱的相关文章

Java中使用Jsoup抓取网页URL时出现中文汉字乱码的问题及解决办法

public static String readHtml(String myurl) { StringBuffer sb = new StringBuffer(""); URL url; try { url = new URL(myurl); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(), "gbk")); String s = "";

通过WebClient类来发起请求并下载html 抓取邮箱 图片

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Text.RegularExpressions; using System.IO; namespace 通过WebClient类来发起请求并下载html 抓取邮箱 图片 { class Program { static void Main(string[] args

Java广度优先爬虫示例(抓取复旦新闻信息)

一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发工具(IDE)为intelij 13.1,Jar包管理工具为Maven,不习惯用intelij的同学,也可以使用eclipse新建一个项目. 二.爬虫基本知识 1.什么是网络爬虫?(爬虫的基本原理) 网络爬虫,拆开来讲,网络即指互联网,互联网就像一个蜘蛛网一样,爬虫就像是蜘蛛一样可以到处爬来爬去,把

delphi 7中使用idhttp抓取网页 解决假死现象

在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态.通过搜索获得两种方法. 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy).在indy misc中将idfreeantifreeze放入程序中, 将OnlyWhenIdle状态修改为False即可.方便简单. ===================================== 直接采用Delphi自带Control控件INDY组件为例.新建个工程,放上个TIdH

正则抓取网页所有href和src

根据抓取的页面,用正则来匹配页面href和src string UserAgent = "Mozilla/5.0 (Windows NT 5.2; rv:29.0) Gecko/20100101 Firefox/29.0"; string ContentType = ""; Uri strReqUrl = new Uri("http://m.lhrb.ufstone.net/"); protected void Application_Begin

java中的正则操作总结

http://www.cnblogs.com/nerxious/archive/2013/01/03/2842910.html 正则表达式在处理字符串的效率上是相当高的 关于正则表达式的使用,更多的是自己的经验,有兴趣可以参阅相关书籍 这里主要写一下java中的正则操作方法 实例1:匹配 import java.util.Scanner; class Demo { public static void main(String[] args) { Scanner sc = new Scanner(

关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)

先看一段推理<*一切都是在8个比特位的前提下,讨论二进制的符号位,溢出等等,才有意义*> +124:0111 1100 -124:1000 0100 +125:0111 1101 -125:1000 0011 +126:0111 1110 -126:1000 0010 +127:0111 1111 -127:1000 0001 +128:0 1000 0000   -128:1000 0000 从上述过程对比可以看出:+128是在127的基础上加1得到,但是会造成溢出(JAVA中byte的大小

java使用htmlunit工具抓取js中加载的数据

htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容.项目可以模拟浏览器运行,被誉为java浏览器的开源实现.这个没有界面的浏览器,运行速度也是非常迅速的.采用的是Rhinojs引擎.模拟js运行. 说白了就是一个浏览器,这个浏览器是用Java写的无界面的浏览器,正因为其没有界面,因此执行的速度还是可以滴,HtmlUnit提供了一系列的API,这些API可以干的功能比较多,如表单的填充,表单的提交,模仿点击链接,由于内置了Rhinojs

使用PHP的正则抓取页面中的网址

最近有一个任务,从页面中抓取页面中所有的链接,当然使用PHP正则表达式是最方便的办法.要写出正则表达式,就要先总结出模式,那么页面中的链接会有几种形式呢? 链接也就是超级链接,是从一个元素(文字.图片.视频等)链接到另一个元素(文字.图片.视频等).网页中的链接一般有三种,一种是绝对URL超链接,也就是一个页面的完整路径:另一种是相对URL超链接,一般都链接到同一网站的其他页面:还有一种是页面内的超链接,这种一般链接到同一页面内的其他位置. 搞清楚了链接的种类,就知道要抓链接,主要还是绝对URL