请教如何用用java抓取网页中邮件

解决方案 »

  1.   

    抓去邮件地址的import java.io.BufferedReader;
    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());
        }
       }
    }
      

  2.   

    WAP编程前的知识准备
    如果你具备以下的知识,你就可以很快地学会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 等对汉字的支持程度有限,故现在有些程序需要字符集转化。以后随着对汉字的支持程度提高,将不需要转换。