Java小程序--抓取emai

一.实现思路

1、使用Java.net.URL对象,绑定网络上某一个网页的地址

2、通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象

3、通过HttpConnection对象的getInputStream()方法获得该网络文件的输入流对象InputStream

4、循环读取流中的每一行数据,并由Pattern对象编译的正则表达式区配每一行字符,取得email地址

package cn.hyj;
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;

public class Test {

/**
* @param args
*/

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.
while((line = bufr.readLine()) != null) {
Matcher m = p.matcher(line);
while(m.find()) {
System.out.println(m.group());// 获得匹配的email
}
}
}

}
时间: 2024-08-01 15:10:31

Java小程序--抓取emai的相关文章

Java写的抓取任意网页中email地址的小程序

/* * 从网页中抓取邮箱地址 * 正则表达式:java.util.regex.Pattern * 1.定义好邮箱的正则表达式 * 2.对正则表达式预编译 * 3.对正则和网页中的邮箱格式进行匹配 * 4.找到匹配结果 * 5.通过网络程序,打通机器和互联网的一个网站的连接 */ import java.net.*; import java.util.regex.*; import java.io.*; public class EmailAddressFetch { public static

别人家的程序员是如何使用 Java 进行 Web 抓取的?

Web抓取非常有用,它可以收集信息供多种用途使用,如数据分析.统计.提供第三方信息,还可以给深神经网络和深度学习提供数据. Web抓取是什么? 有一种非常广泛的误解,人们似乎把Web抓取和Web爬虫当成了同一种东西.所以我们先明确这一点. 两者有个非常显著的区别: Web爬虫,指搜索或"爬"网页以获得任意信息的过程.通常是搜索引擎如Google.Yahoo或Bing的功能,以便给我们显示搜索结果. Web抓取,指从特定的网站上利用特别定制的自动化软件手机信息的过程. 注意! 尽管Web

java 网页页面抓取标题和正文

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.reg

基于Bluemix快速构建部署一款Java小程序——微博影响力分析器

一.前言 近年来IT界风云际会,各种新概念如大数据.云平台.虚拟化等,如雨后春笋般层出不穷.而云平台,可以说是近些年来引领时代新潮的边缘概念之一,各大厂商竞相推出各种云产品,抢占云市场高地.近期,IT百年老厂IBM也推出了其花费重金打造的基于CloudFoundry开放标准的云平台Bluemix.本文就旨在从一位普通Java开发者角度,尝鲜Bluemix云平台及其提供的Cloudant服务,快速构建并部署一款Java小程序"微博影响力分析器". 二."微博影响力分析器&quo

搜索文件或目录中包含字符串的文件 java小程序

package com.ruishenh.spring.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Enumeration; import java.

输出多行字符的一个简单JAVA小程序

1 public class JAVA 2 { 3 public static void main(String[] args) 4 { 5 System.out.println("----------------------"); 6 System.out.println("|| 我要学会 ||"); 7 System.out.println("|| JAVA语言 ||"); 8 System.out.println("-------

Linux下搭建Java环境变量并实现第一个Java小程序

1.首先,我们打开虚拟机里面的Linux操作系统,然后点击下图菜单下的虚拟机选项: 在点击虚拟机下的设置菜单,如下图所示: 这里我已经添加进去我所需要的文件夹了,我放在本机E盘下的as文件夹里面到底放了什么呢? 上图这两个压缩文件,一个是android studio的压缩包,上年发布出来的,一直没用它,今天本来想在windows下安装这个软件,发现所需要的jdk是1.7,而我在windows下的jdk版本为1.6,所以打算在Linux操作系统下安装jdk1.7,并安装andoid studio工

hello world Java小程序入门

/** 作者:haha版本:V1.0这个类是用于演示hello world.*/class Demo //这是我的第一个java小程序,//很爽!{/*main函数可以保证该的独立运行.它是程序的入口.它会被JVM所调用.*/public static void main(String[] args){/*System.out.println("hello java");//这是输出语句,可以打印小括号中的内容.System.out.println("hello world&

java学习的一些预备知识和一些简单的java小程序

1先了解一些基本的dos命令 dir     ·列出当前目录下的文件和文件夹 md      创建文件夹 rd        删除文件夹(文件下没有子文件) del "文件夹名"    可以删除带子文件的文件夹 cd..    使文件夹目录一层一层后退 cd\    回到根目录 haha>1.txt    创建文档,并将haha写入到1.txt文档中 del 1.txt    删除文件(不走回收站) del  *.txt    只删除txt文件 exit    退出命令行 set