使用Java爬虫抓取网页中的email地址

摘要:
问题是在网页中检索电子邮件地址。“;//匹配电子邮件的常规模式:pattern=pattern.compile;while((line=bufr.readLine())!
问题

抓取网页中的email地址。示例网页地址 https://www.douban.com/group/topic/44274322/

实现

思路

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

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

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

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

代码

package regex;
 
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;
 
/**
 * 网络爬虫,抓取网页中的email地址
 */
public class WebCrawlersDemo {
    
    public static void main(String[] args) throws Exception {
        URL url = new URL("https://www.douban.com/group/topic/44274322/");
        // 打开连接
        URLConnection conn = url.openConnection();
        // 设置连接网络超时时间
        conn.setConnectTimeout(1000 * 10);
        // 读取指定网络地址中的文件
        BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line = null;
        String regex = "[a-zA-Z0-9_-]+@\w+\.[a-z]+(\.[a-z]+)?";    // 匹配email的正则
        Pattern p = Pattern.compile(regex);
        while((line = bufr.readLine()) != null) {
            Matcher m = p.matcher(line);
            while(m.find()) {
                System.out.println(m.group());    // 获得匹配的email
            }
        }
    }
 
}

结果

使用Java爬虫抓取网页中的email地址第1张

......

参考文章

转自:https://blog.csdn.net/xyang81/article/details/7705960?utm_medium=distribute.wap_relevant.none-task-blog-title-1

免责声明:文章转载自《使用Java爬虫抓取网页中的email地址》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Slf4j MDC机制Zend Studio使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

学会使用ip池和cookie池伪装

在进入正题之前,我们先复习一个关于requests模块的相关知识点: requests中解决编码的三种方法: ①response.content 类型:bytes 解码类型:没有指定 如何修改编码方式:response.content.decode() ②response.content.decode() 类型:str 解码类型:解码成python文本的字...

android网络交互之DNS优化知识整理

android网络交互之DNS优化知识整理 之前的工作中,经常会遇到DNS解析出问题导致网络交互的操作无法正常进行。 UnknownHostException 在很多的移动开发过程中,与服务端的交互的url通常是包含域名的。而在实际的网络交互的过程中,第一步就需要对域名进行dns解析。 复杂的网络环境里面,dns解析会耗费很长的时间、甚至是解析失败。这是经...

微信小程序怎么获取当前页面的url

使用getCurrentPages可以获取当前加载中所有的页面对象的一个数组,数组最后一个就是当前页面。 var pages = getCurrentPages() //获取加载的页面 var currentPage = pages[pages.length-1] //获取当前页面的对象 var url = currentPage.rou...

Apache环境下强制http跳转至https的配置总结

一. 简单实例介绍一般来说,apache配置好http和https后,如果想要做http强转到https,需要设置url重定向规则,大致需要下面几个步骤即可完成配置: 1)在httpd.conf文件里使下面模块生效 [root@back ~]# cat /usr/local/apache/conf/httpd.conf ..... LoadModule s...

《逆向工程核心原理》笔记第一章到第十一章

第一章/第二章 分析Hello World!程序 OD基本命令 Restart Ctrl+F2 重新开始调试 Step Into F7 执行语句会进入函数内部 Step Over F8 执行语句不会进入函数内部 Execute till Return Ctrl+F9 一直在函数代码内部运行,直到遇到retn跳出 (跳出该命令函数) OD中右边注释中的红...

分享如何使用PHP将URL地址参数进行加密传输提高网站安全性

大家在使用PHP进行GET或POST提交数据时,经常会在URL带着参数进行传递,比如www.mdaima.com/get.php?id=1&page=5,这里就将id编号和page页码进行了参数传递,如果这样直接明文传输,会将参数直接暴露给用户,要是是比较重要的数据这样传输我觉得还是不太安全。那如果将参数变成下面这样,是不是会好点呢? 1 w...