- 浏览: 39142 次
- 性别:
- 来自: 台州
最新评论
朋友要一个邮件抓取器,边查边写了一个:
三个类
1.MyFrame,就是一些布局和事件。
package com.zhuzhu; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MyFrame { public static void main(String args[]){ TextField tfin,tfout; Frame f = new Frame(); tfin = new TextField(10); tfin.setText("输入路径"); tfout = new TextField(10); tfout.setText("输出路径"); Button b1 = new Button("提取邮件地址"); Monitor monitor = new Monitor(tfin,tfout); b1.addActionListener(monitor); FlowLayout layout =new FlowLayout(); f.setLayout(layout); f.add(tfin); f.add(tfout); f.add(b1); f.setLocation(300, 300); f.setSize( 300,80); f.setBackground( Color.white); f.setResizable(true); f.setVisible( true); } }
2.Monitor监听器类,对事件进行监听。
package com.zhuzhu; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; class Monitor implements ActionListener { TextField tfin,tfout; public Monitor(TextField tfin,TextField tfout){ this.tfin = tfin; this.tfout = tfout; } MyFrame tf = null; public Monitor(MyFrame tf) { this.tf = tf; } public void actionPerformed(ActionEvent e) { String indir = (String)tfin.getText(); String outdir = (String)tfout.getText(); System.out.println(indir); System.out.println(outdir); Spider sp = new Spider(); try { sp.readfile(indir,outdir); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }
3.Spider匹配地址的作用,system.out重定向的自定的流。
package com.zhuzhu; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Spider { public void readfile(String indir,String outdir) throws IOException { PrintStream out = new PrintStream(outdir); try { BufferedReader br = new BufferedReader(new FileReader(indir)); String line = ""; StringBuffer sb = new StringBuffer(); while ((line = br.readLine()) != null) { sb.append(line); } spider(sb.toString(), out); } catch (Exception e) { } } private static void spider(String line, PrintStream out) throws IOException { try { String regx = "[\\w[.-]]+@[\\w[.-]]+\\.[\\w]{3}"; Pattern p = Pattern.compile(regx); Matcher m = p.matcher(line); System.setOut(out); while (m.find()) { System.out.append(m.group()); System.out.println(); } out.close(); } catch (Exception e) { } } }
运行了一下,貌似可以用。可能有很多bug,抛砖引玉了。
付上代码。下一步写如何自动转发。
- Spide1.rar (5.9 KB)
- 下载次数: 4
发表评论
-
httpclient重定向和post
2012-07-10 15:55 2294有些登陆需要涉及到重定向登录虾米音乐网的例子httpcli ... -
poi:无法获取公式值
2012-06-01 09:16 2212有时候用cell.getNumericCellValue()无 ... -
通过set移除list相同项
2012-03-21 11:51 1145今天按照boss的要求做的时候,遇到了一个问题。boss一条记 ... -
compress 解压缩
2012-03-13 17:02 2122主要用到了apach commons里 ... -
apache ant 解压缩zip
2012-03-08 15:39 1852使用apache ant.tools.zip来打包和解压缩。 ... -
改变ie查看源代码的打开方式
2012-02-22 09:47 1423更改IE的“查看源代码”打开的编辑器--notepa ... -
又简单又好用的同步控制
2012-02-21 10:45 799上代码 package com.enfang; /** ... -
struts2接收前台参数的3个方法
2012-02-10 09:18 388201.public class GetRequestParam ... -
DBCP的使用
2012-01-31 10:40 1031反正是工具类,直接上代码吧。复制一下就可以用了 pac ... -
java map的遍历
2012-01-19 11:36 776有时候需要对map进行排序,什么会进行对map的遍历,以下是对 ... -
JOptionPane JOptionPane
2012-01-16 14:35 939package T1; import jav ... -
httpClient的使用
2012-01-13 13:42 906httpClient的简单使用方法(代理方式的)。 p ... -
FileUpload
2012-01-11 15:49 788以下为apache fileupload的使用。 先一个se ... -
poi :合并excel的单元格
2011-12-19 15:32 1225// 合并单元格 从左上角合并到右下角 ... -
HtmlPaser与StringEscapeUtils共舞抓取网页
2011-12-13 14:48 1516用正则来匹配的确很强大,但如果是网页的话HtmlPaser更方 ... -
jacob:no jacob-1.15-M4-x86 in java.library.path
2011-12-13 13:37 2644今天遇到一个很蛋疼的问题,生成ppt的时候老抱no jacob ...
相关推荐
【邮件抓取器(本地和网络)全部源码】是一个编程项目,主要功能是通过特定算法和逻辑,从本地文件和互联网网页中提取电子邮件地址。这个工具可能使用了正则表达式、网络爬虫技术以及文件解析技术来实现。下面将详细...
【邮件抓取软件】是一种专门用于批量收集和提取电子邮件地址的工具,主要应用于市场营销、数据分析或者信息采集等领域。这类软件通常具有自动化、高效的特点,能够帮助用户快速地从互联网上获取大量的邮件地址,以...
万能邮件采集器的核心功能在于其强大的搜索引擎抓取能力。只要提供包含邮箱的网页链接,它就能快速、准确地从网页中提取出电子邮件地址。这种高效的数据采集方式大大节省了手动搜集的时间,尤其适用于需要处理大量...
尽管开发者提到程序开发较为仓促,没有进行过多优化,但已实现了基础功能,这意味着它可以完成邮件抓取和群发的基本任务。这为后续的优化和扩展提供了基础。 综上所述,这个.NET程序涉及了网络爬虫、多线程编程、...
在使用圣者网页邮件采集器的过程中,用户还可以自定义设置抓取深度、速度控制以及导出格式等,以适应不同的需求。同时,软件通常会有日志记录功能,以便用户追踪采集过程和结果。 总的来说,圣者网页邮件采集器是一...
而非法的键盘记录器,也被称为键盘抓取器或键盘间谍,常常被黑客用来窃取用户信息,实施网络犯罪。 键盘记录器的工作原理通常是通过捕获操作系统发送给硬件的键盘事件,或者通过监控系统级别的键盘钩子来实现。一旦...
电子邮件地址搜集器是一种工具,主要用于自动化地从网络上抓取并收集电子邮件地址。这个特定的程序利用了Winsock库来实现网络通信,Winsock是Windows操作系统中的一个核心组件,为应用程序提供TCP/IP协议的访问接口...
"经典云邮件营销系统"提供全自动的邮件地址采集功能,能够高效地从互联网上抓取目标用户的邮箱信息。这一过程可能涉及以下几个关键技术: 1. 数据爬取:系统通过网络爬虫技术,遍历网页,抓取公开的电子邮件地址。...
本项目"淘宝卖家信息抓取器C#源代码"就是一个典型的示例,它利用C#编程语言实现了从淘宝网站上抓取卖家信息的功能。 首先,C#是微软开发的一种面向对象的编程语言,它具有丰富的类库和强大的.NET框架支持,适合开发...
本项目将讲解如何使用Jsoup来抓取网页的关键信息,并将其存储到数据库中,同时实现通过IP地址查询天气并以邮件形式发送。 首先,Jsoup提供了简洁的API,使得解析HTML变得易如反掌。我们可以利用Jsoup的`connect()`...
二、邮件自采集器设计 邮件采集通常涉及以下几个环节: 1. **URL 目标**:确定要抓取邮件的网页,可能是一个公开的联系人页面,或者需要登录的论坛等。理解目标网页的结构和数据存储方式是成功爬取的关键。 2. **...
1. 邮件抓取模块:利用Delphi的TIdIMAP4组件,连接到邮件服务器,通过查询命令获取邮件列表,再根据需要下载邮件内容。同时,系统可能需要处理各种认证机制,如SSL/TLS加密,确保通信安全。 2. 邮件发送模块:使用...
5. **任务调度模块**:为了实现定时抓取,系统应包含一个任务调度器,可以根据设定的时间间隔自动执行邮件抓取任务。这可以借助Windows的任务计划程序API,或者Delphi自身的TTimer组件。 6. **错误处理和日志记录**...
7. **多线程处理**:如果系统同时处理多个邮件抓取或发送任务,那么可能使用了多线程技术,以提高并发性能。Delphi支持线程编程,可以创建并管理TThread类的实例。 8. **数据库交互**:为了存储和检索抓取的邮件...
本项目"安卓listview相关-实现浏览新浪新闻jsoup抓取网页信息listview列表下拉刷新.rar"旨在演示如何结合Jsoup库从新浪新闻网站抓取信息,并通过ListView展示这些信息,同时实现下拉刷新功能,提升用户体验。...
- **代码结构**:源码可能会包含几个主要的模块,如网页抓取器、邮件地址解析器、邮件构建器和邮件发送器,每个模块都有明确的职责。 - **设计模式**:可能运用了工厂模式来创建邮件发送对象,或者使用观察者模式...