如何使用JAVA语言抓取某个网页中的邮箱地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用JAVA语言抓取某个网页中的邮箱地址相关的知识,希望对你有一定的参考价值。

现实生活中咱们常常在浏览网页时看到自己需要的信息,但由于信息过于庞大而又不能逐个保存下来。

接下来,咱们就以获取邮箱地址为例,使用java语言抓取网页中的邮箱地址

实现思路如下:

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

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

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

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

接下来,话不多说,直接上代码:

import java.io.BufferedReader;  
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 {  
      
    public static void main(String[] args) throws Exception {  
     //设定目标网址        
     URL url
= new URL("目标网址"); // 打开连接 URLConnection conn = url.openConnection(); // 设置连接网络超时时间 conn.setConnectTimeout(1000 * 10); // 读取指定网络地址中的文件 BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
     //在内存中构建一个空的字符串来准备获取读到的邮箱 String line
= null;
     // 设置匹配email的正则表达式;
String reg
= "[a-zA-Z0-9_-][email protected]\\w+\\.[a-z]+(\\.[a-z]+)?"; Pattern p = Pattern.compile(reg);
     //循环输出读到的邮箱地址
while((line = bufr.readLine()) != null) { Matcher m = p.matcher(line); while(m.find()) { System.out.println(m.group()); } } } }

本人水平有限,不能详尽解读以上代码,还望见谅

以上是关于如何使用JAVA语言抓取某个网页中的邮箱地址的主要内容,如果未能解决你的问题,请参考以下文章

VB如何获取网页的内容

如何利用java中url实现网页内容的抓取

如何使用Java抓取网页上指定部分的内容

java抓取网页数据

怎么抓取app某个页面的url

java中使用 正则 抓取邮箱