网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取 万维网 信息的程序或者 脚本 。 今天我们就以JAVA抓取网站一个页面上的全部全部邮箱为例来做具体说明,人一直很懒,不在做GUI了,大家看看明白原理就行。

——————————————————————————————————————————————————

百度上随便找一个网页,又想多的最好,这次以  点击打开链接 这个贴吧网页为例进行说明

从图片和网页可见上面有许多邮箱,我粗略看了看十几页大概有几百个吧,如果你是楼主你肯定很难办,你要是一个一个发吧太多了工作量太大了,一个一个邮箱的复制真的会累死人的。可是,如果你不发,肯定会被吧友鄙视。

怎么办呢?当然,如果有一个工具能过自动识别网页上的邮箱并将它们取出来那该多好啊…… 他就是网页爬虫,可是按照一定的规则抓取网页数据,(像什么百度,谷歌 做SEO 大多是网页数据的抓取与分析)并将这些数据保存起来,方便数据的处理和使用。 废话太多,上教程‘。 ————————————————————————————————————————————————— 思路分析: 1.要想获取网页的数据必须取得与网页的链接

2.要想获得网页上的邮箱地址必须由获得邮箱地址相应的规则

3.要想把数据去除必须由取得数据相关类的操作

4.要想保存数据必须实现保存数据的操作 —————————————————————————————————————————————————

接下来上代码。

package tool;import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.InputStreamReader;import java.io.Writer;import java.net.URL;import java.net.URLConnection;import java.sql.Time;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Demo { public static void main(String[] args) throws Exception {// 本程序内部异常过多为了简便,不一Try,直接抛给虚拟机 Long StartTime = System.currentTimeMillis(); System.out.println("-- 欢迎使用飞扬简易网页爬虫程序 --"); System.out.println(""); System.out.println("--请输入正确的网址如http://www.baidu.com--"); Scanner input = new Scanner(System.in);// 实例化键盘输入类 String webaddress = input.next();// 创建输入对象 File file = new File("D:" + File.separator + "test.txt");// 实例化文件类对象 // 并指明输出地址和输出文件名 Writer outWriter = new FileWriter(file);// 实例化outWriter类 URL url = new URL(webaddress);// 实例化URL类。 URLConnection conn = url.openConnection();// 取得链接 BufferedReader buff = new BufferedReader(new InputStreamReader( conn.getInputStream()));// 取得网页数据 String line = null; int i=0; String regex = "\\w+@\\w+(\\.\\w+)+";// 声明正则,提取网页前提 Pattern p = Pattern.compile(regex);// 为patttern实例化 outWriter.write("该网页中所包含的的邮箱如下所示:\r\n"); while ((line = buff.readLine()) != null) { Matcher m = p.matcher(line);// 进行匹配 while (m.find()) { i++; outWriter.write(m.group() + ";\r\n");// 将匹配的字符输入到目标文件 } } Long StopTime = System.currentTimeMillis(); String UseTime=(StopTime-StartTime)+""; outWriter.write("--------------------------------------------------------\r\n"); outWriter.write("本次爬取页面地址:"+webaddress+"\r\n"); outWriter.write("爬取用时:"+UseTime+"毫秒\r\n"); outWriter.write("本次共得到邮箱:"+i+"条\r\n"); outWriter.write("****谢谢您的使用****\r\n"); outWriter.write("--------------------------------------------------------"); outWriter.close();// 关闭文件输出操作 System.out.println(" —————————————————————\t"); System.out.println("|页面爬取成功,请到D盘根目录下查看test文档|\t"); System.out.println("| |"); System.out.println("|如需重新爬取,请再次执行程序,谢谢您的使用|\t"); System.out.println(" —————————————————————\t"); }}

代码如上,每一行都有注释,实在看不懂的可以联系我。

直接在命令行下 编译–>运行

输入爬去取页面的地址。

打开D盘目录找到test.xt文件.

文件内的邮箱默认加上了“;”方便大家发送操作

当然,爬取本地文件内的数据就更简单了

不再过多解释直接上代码。

import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Demo0 { public static void main(String[] args)throws Exception { BufferedReader buff=new BufferedReader(new FileReader("D:"+File.separator+"test.txt")); String line=null; String regex="\\w+@\\w+(\\.\\w+)+"; Pattern p=Pattern.compile(regex); while ((line=buff.readLine())!= null) { Matcher m=p.matcher(line); while (m.find()) { System.out.println(m.group()+";"); } } }}

本文转载自:CSDN博客

欢迎加入我爱机器学习QQ14群:336582044

微信扫一扫,关注我爱机器学习公众号

php爬虫邮箱邮件,简单网络爬虫实现爬取网页邮箱相关推荐

  1. python爬虫教程下载-Python爬虫入门教程!手把手教会你爬取网页数据

    其实在当今社会,网络上充斥着大量有用的数据,我们只需要耐心的观察,再加上一些技术手段,就可以获取到大量的有价值数据.这里的"技术手段"就是网络爬虫.今天就给大家分享一篇爬虫基础知识 ...

  2. 一个咸鱼的python_一个咸鱼的Python爬虫之路(三):爬取网页图片

    学完Requests库与Beautifulsoup库我们今天来实战一波,爬取网页图片.依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图. 所以我找了这个网站 http: ...

  3. 爬虫概念与编程学习之如何爬取网页源代码(一)

    直接,去看一个网页的源代码,这个很简单! 1.新建maven项目 2.选择代码保存位置 3.选择quickstart 4.设置Group Id和Artifact Id 5.得到新建好的maven项目 ...

  4. Python 爬取网页信息并保存到本地爬虫爬取网页第一步【简单易懂,注释超级全,代码可以直接运行】

    Python 爬取网页信息并保存到本地[简单易懂,代码可以直接运行] 功能:给出一个关键词,根据关键词爬取程序,这是爬虫爬取网页的第一步 步骤: 1.确定url 2.确定请求头 3.发送请求 4.写入 ...

  5. python爬取网页代码-python爬虫爬取网页所有数据详细教程

    Python爬虫可通过查找一个或多个域的所有 URL 从 Web 收集数据.Python 有几个流行的网络爬虫库和框架.大家熟知的就是python爬取网页数据,对于没有编程技术的普通人来说,怎么才能快 ...

  6. 爬虫概念与编程学习之如何爬取视频网站页面(三)

    先看,前一期博客,理清好思路. 爬虫概念与编程学习之如何爬取网页源代码(一) 爬虫概念与编程学习之如何爬取视频网站页面(用HttpClient)(二) 不多说,直接上代码. 编写代码 运行 <! ...

  7. 使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  8. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  9. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

最新文章

  1. java web 嵌套播放器_网页嵌套播放器
  2. 恒为linux笔试题,硬件工程师面试试题及答案(转)
  3. WP8.1学习系列(第二十二章)——在页面之间导航
  4. 【华为敏捷/DevOps实践】5. 如何避免DevOps变革的六大“焦油坑”
  5. 如何用softmax和sigmoid来做多类分类和多标签分类
  6. [转载]在instagram上面如何利用电脑来上传图片
  7. (10)Spring框架----AOP面向切面编程的实现原理
  8. Mongodb 按照时间进行分组统计查询
  9. 使用Cdn加速静态资源
  10. 洛谷B2006 地球人口承载力估计
  11. Unreal Engine 4 Radiant UI 入门教程(一)制作Radiant HUD
  12. mysql5.7第一次登录修改root密码
  13. C++练习题:计算standard_deviation
  14. Spring Cloud Alibaba Sentinel - - > 容错机制
  15. 图标设计原则_图标设计的7个原则
  16. Oracle11gR2的服务简介
  17. python批量替换网站静态文件内的域名
  18. 内六角扳手的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. 软件开发:个人与团队是永远的核心
  20. html5视频video不全屏播放

热门文章

  1. 【成本收集器】目标成本与实际成本差异分析
  2. TypeError: strptime() takes no keyword arguments ValueError(“‘%s‘ is a bad directive in format ‘%s‘“
  3. [leetcode/lintcode 题解] 谷歌面试题:基因相似度
  4. 彻底关闭windows defender,Antimalware Service Executable
  5. jdk官网下载,附带镜像站下载方式
  6. android手游开发三维地图高清版,三维地图实景地图下载手机
  7. 怎么样防止服务器被入侵
  8. ORACLE中单引号和双引号使用区别详解
  9. 7-238 整数转换为字符串7-242 母牛问题7-243 快速幂
  10. 反射:获取Class类的三种方法