请教如何用用java抓取网页中邮件
解决方案 »
- org.apache.catalina.core.StandardWrapperValve invoke
- 求高手解决,关于如何在Spring Security取得服务器内的session
- 怎么设置转向页面的参数,在线等
- 数据库连接池mysql与jsp连接怎样配置?
- ajax 传递中文失败出现NULL
- 表单4级关联
- JSP的执行流程与生命周期
- 求救 :我的update语句 提示' ' 附近有语法错误
- 发现FineReport报表的最新版本.可以取代FormulaOne.
- 有关JSP的问题
- 用ftpClient.retrieveFile(remoteFileName, fos)为何下载不了文件
- 单点登录问题
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class h1
{
public static String getWebCon(String domain)
{
System.out.println("开始抓取邮件地址..("+domain+")");
StringBuffer sb=new StringBuffer();
try
{
java.net.URL url=new java.net.URL(domain);
BufferedReader in=new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while((line=in.readLine())!=null)
{
parse(line);
}
in.close();
}
catch(Exception e)
{
sb.append(e.toString());
System.err.println(e);
}
return sb.toString();
}
public static void main(String[] args)
{
String s;
s=h1.getWebCon("http://post.baidu.com/f?kz=34942387"); //这是要抓取的网页,自己可以试下.
//System.out.println(s);
}
private static void parse(String line)
{
Pattern p=Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");//邮箱的正则表达式
Matcher m=p.matcher(line);
while(m.find())
{
System.out.println(m.group());
}
}
}
如果你具备以下的知识,你就可以很快地学会WAP网页的设计:
理解INTERNET基本知识,了解HTTP协议及其内涵;
熟悉WEB服务器,并理解WEB 服务器与浏览器之间的交互原理、关系;
了解HTML语言规范,熟悉静态网页的设计;
熟悉JAVASCRIPT、XML语言的设计最好;
设计你的第一个WAP网页
当你了解了前面的几步的准备知识后,你就可以从网上下载编程工具,其中包含WA
P手机模拟器,用WAP手机模拟器可以测试你的WAP网页。WAP编程工具有很多,你可以从
以下几个站点下载:
Phone.com Inc.;
Nokia;
Ericsson;
以下以 PHONE.COM 的UP.SDK开发为例。
一、写WML脚本
你可以用任何文本编辑器写出第一个WAP网页,在此我将这个文件命名为FF.WML,并
在你的WEB服务器的DOCUMENTROOT目录下建立一个子目录EX,将FF.WML存在该目录下。
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" "http://www.phone.com/d
td/wml11.dtd" >
注释:熟悉XML的人知道,以上两句是XML序言,表明文档符合XML 1.0 版本,并遵循//
www.phone.com/dtd/wml11.dtd文档类型。
<wml>
<card>
注释:WAP网页是以<XML>标记开始,象WEB网页以<HTML>标记开始一样。接着,有许多<
card></card>实体段,card 是WAP网页中的一个显示页面,一个WAP网页可以有多个显示
页面。
<do type="accept" label="HowMuch">
<go href="#result"/>
</do>
<p>键入你期望的工资 : <input name="salary" format="*N"/></p>
</card>
注释:<do type="accept" label="HowMuch">表示一个提交按钮, 类似于html中的form
中的 SUBMIT 按钮 。
<go href="#result"/>表示一个提交链接,即手机用户按下Howmuch提交按钮后,id名称
为‘result’的显示页面 。
<input name="salary" format="*N"/>表示一个文本输入框,只能输入数字,手机用户
按下Howmuch提交按钮后,文本输入框中的值将存在变量$salary 中。
<card id="result">
<p>祝贺你, </p>
<p>你所期望的工资是: $salary!</p>
</card>
</wml>
注释:<p>你所期望的工资是: $salary!</p> 显示字符串和在文本输入框输入的数字。
<p></p> 与WEB网页中的有所类似。
</wml> 表明整个WAP网页结束。
二、对WEB服务器进行配置
在设计WAP网页时不论你使用的WAP开发工具是UP.SDK 或NOKIA WAP TOOKIT 或者ER
ICSSON WAPIDE,你都必须进行WEB服务器设置,故在此将常见的几种WEB服务器的设置介
绍如下:
1、WINDOW NT 平台的IIS:
a、启动菜单->程序->WINDOWS NT OPTION PACK ->IIS4.0;
b、右击Internet Information Server的子项计算机名,在快捷菜单上选择‘属性’;c、在属性页面的下部,有一个‘文件类型(F)’按钮,单击此按钮,会出现文件类型界面;
d、单击‘新增类型’按钮,然后在相关的扩展名栏中填写.wml ,在内容类型(MIME)栏中填写 text/vnd.wap.wml;
e、单击‘确定’按钮;
f、重复c、d、e 三步,再增加其他的MIME类型;
2、Apache Web Server on NT或Solaries或LINUX或者其他版本的UNIX:
a、不管是NT 还是UNIX 或LINUX ,都是修改 Apache 安装目录下的conf/mime.types文
件;
b、在该文件中增加以下内容:
text/vnd.wap.wml .wml
image/vnd.wap.wbmp .wbmp
application/vnd.wap.wmlc .wmlc
text/vnd.wap.wmls .wmls
application/vnd.wap.wmlsc .wmlsc
c、存盘;
d、重新启动APACHE WEB SERVER ;
三、测试
当你安装好UP.SDK后,从WINDOWS的启动菜单上单击 程序->UP SDK 4.0->UP.SIMULA
TOR 在URL地址栏输入此文件的URL地址,即http://localhost/ex/ff.wml回车后,你就可以看到下图所示的结果,然后按动模拟手机上的数字键输入。
然后,再按Howmuch 下的按钮,你就看到可以看到下图所示的结果。
四、结束语
总之,从上面的WAP网页不难看出WAP网页是用WML脚本语言写的,同时,熟悉XML的人会发现WML语言是基于XML规范的。但是真正进行WAP网页设计,不仅要熟悉WML语言和XML规范,而且还要熟悉WMLSCRIPT、HDML。WMLSCRIPT是与javascript语言相似。如果设计动态WAP网页,要了解如何设计WAP 服务器端程序。设计WAP 服务器端程序和设计WEB服务器端程序差不多,只不过要遵循WAP协议,所用的设计语言从理论上说可以是任何编程语言如 C/C++、Java、VB、ASP、PERL、PHP、FOXPRO等等。以后的高级编程指导中会详细讨论二者的区别与相似性。
注:由于目前WAP浏览器及WAPGATEWAY SERVER 等对汉字的支持程度有限,故现在有些程序需要字符集转化。以后随着对汉字的支持程度提高,将不需要转换。