- 浏览: 37880 次
- 性别:
- 来自: 台州
最新评论
朋友要一个邮件抓取器,边查边写了一个:
三个类
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 2239有些登陆需要涉及到重定向登录虾米音乐网的例子httpcli ... -
poi:无法获取公式值
2012-06-01 09:16 2158有时候用cell.getNumericCellValue()无 ... -
通过set移除list相同项
2012-03-21 11:51 1101今天按照boss的要求做的时候,遇到了一个问题。boss一条记 ... -
compress 解压缩
2012-03-13 17:02 2075主要用到了apach commons里 ... -
apache ant 解压缩zip
2012-03-08 15:39 1804使用apache ant.tools.zip来打包和解压缩。 ... -
改变ie查看源代码的打开方式
2012-02-22 09:47 1379更改IE的“查看源代码”打开的编辑器--notepa ... -
又简单又好用的同步控制
2012-02-21 10:45 747上代码 package com.enfang; /** ... -
struts2接收前台参数的3个方法
2012-02-10 09:18 383101.public class GetRequestParam ... -
DBCP的使用
2012-01-31 10:40 994反正是工具类,直接上代码吧。复制一下就可以用了 pac ... -
java map的遍历
2012-01-19 11:36 730有时候需要对map进行排序,什么会进行对map的遍历,以下是对 ... -
JOptionPane JOptionPane
2012-01-16 14:35 894package T1; import jav ... -
httpClient的使用
2012-01-13 13:42 854httpClient的简单使用方法(代理方式的)。 p ... -
FileUpload
2012-01-11 15:49 750以下为apache fileupload的使用。 先一个se ... -
poi :合并excel的单元格
2011-12-19 15:32 1131// 合并单元格 从左上角合并到右下角 ... -
HtmlPaser与StringEscapeUtils共舞抓取网页
2011-12-13 14:48 1472用正则来匹配的确很强大,但如果是网页的话HtmlPaser更方 ... -
jacob:no jacob-1.15-M4-x86 in java.library.path
2011-12-13 13:37 2606今天遇到一个很蛋疼的问题,生成ppt的时候老抱no jacob ...
相关推荐
爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...
电子邮件 地址 触发条件 将提取的数据放入 .csvs 使用这个工具 确保您的设置正确( config.php ) 将网站 ID、名称和 url 的列表放入targets.csv文件中 确保它有 linux 行尾( \n ) 或者确保你更新了config.php的...
◆ 21.htm 打开器并进入指定网址 ◆ 22.htm 打开一个直接到自己主页的器 ◆ 23.htm 得到用户的IP地址 ◆ 24.htm 电话拨号 ◆ 25.htm 电子邮件的标准格式 (RFC 822) ◆ 26.htm 断开...
学习单51 实现TColor值到RGB值的变换 学习单52 检测声卡是否安装 学习单53 编写网络浏览器 学习单54 获取主机的IP地址 学习单55 简单邮件发送软件 学习单56 获取本机的MAC地址 学习单57 实现PING链接 学习单58 域名...
8.3.8 删除邮件实现 8.3.9 用户管理 第9章 短信群发模块 9.1 设计思路 9.2 关键技术 9.2.1 短信猫中API函数的使用 9.2.2 短信猫中的短信接收格式 9.2.3 窗体间的互操作 9.2.4 锁定模块主窗体 9.2.5 使用ADO.NET...
8.3.8 删除邮件实现 8.3.9 用户管理 第9章 短信群发模块 9.1 设计思路 9.2 关键技术 9.2.1 短信猫中API函数的使用 9.2.2 短信猫中的短信接收格式 9.2.3 窗体间的互操作 9.2.4 锁定模块主窗体 9.2.5 使用ADO.NET...
8.3.8 删除邮件实现 8.3.9 用户管理 第9章 短信群发模块 9.1 设计思路 9.2 关键技术 9.2.1 短信猫中API函数的使用 9.2.2 短信猫中的短信接收格式 9.2.3 窗体间的互操作 9.2.4 锁定模块主窗体 9.2.5 使用ADO.NET...
8.3.8 删除邮件实现 198 8.3.9 用户管理 198 第9章 短信群发模块 9.1 设计思路 202 9.2 关键技术 202 9.2.1 短信猫中API函数的使用 202 9.2.2 短信猫中的短信接收格式 205 9.2.3 窗体间的互操作 205...
案例14 抓取指定区域的图像 案例15 动画范例——飞碟绑架地球人 第三章 多媒体应用 案例1 flash 动画播放器 案例2 OpenGL屏幕保护程序 案例3 显示器的分辨率调整 案例4 五子棋程序 案例5 制作Windows媒体...
3.14 用Python实现的简单加法器 133 3.15 检查信用卡校验和 136 3.16 查看汇率 137 第4章 Python技巧 139 引言 139 4.1 对象拷贝 140 4.2 通过列表推导构建列表 144 4.3 若列表中某元素存在则返回之 146 ...
在线发送邮件(需要你的服务器支持相应组件) ?新闻可以任意转移功能 ?加强HTML编辑器 ?新闻统计功能(可以随时统计新闻) ?相关联接、新闻来源管理 ?自动分页功能 ?修改一些不利于操作的地方 ?标题可以...
由于采用了人工智能、结构化及非结构化通用采集算法,因此商剑信息采集软件可以通用采集任何结构的信息,将网络雷达、舆论监督、数据库采集、文章采集、新闻采集、邮件采集、关键字采集、结构化信息采集、非结构化...
1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 主要是实现了HTTP协议的GET|POST请求时的无视编码,无视证书,设置代理,自动获取Cookie的功能。 访问数据库相关 1.SqlHelper类 ...
7.包含邮件、短信发送接口有代理,天气抓取、还有bean与json与map等转化,包含各种时间计算,支持servlet可以详细看验证码类。 8.有全文检索工具类包含索引的创建、查询等,自动分页Bean,Excel读取/导出等功能、...
图库模型和网页编辑器支持多选传图,支持自定义图片水印功能,可设置位置,格式,内容,从而实现图片防盗功能 统计功能 支持会员商铺统计,及整站统计,轻松了解整站发展状态,信息量,以及会员活跃度 阅读记录 ...
实例137 抓取鼠标形状 171 3.8 图像识别 172 实例138 查看图片的像素 172 实例139 获取指定点的RGB值 173 实例140 地图地理定位 174 实例141 车牌号码识别 176 3.9 图像工具 177 实例142 获取图片...
Parser是一个解析器,用来方便用户提取抓取数据中自己需要的东西 Handler是一个处理器,用来处理每次抓取之后的操作 Selector是一个选择器,用来判断是否是我们所需要的内容 ...