如何使用jsoup获取电子邮件地址

时间:2013-01-12 14:35:20

标签: android html parsing email jsoup

我有一张这样的表

 <TR BGCOLOR="#F9F9F9">
            <TD width="1%" nowrap><B>Tel:</B></TD>
            <TD>+39 04949 59599</TD>
            <TD width="1%" nowrap><B>Email:</B></TD>
            <TD><A HREF="javascript:void(0);"
                OnClick="Messenger('/do/home.pl/Messenger?email=mailaddress@gmail.com')">mailaddress@gmail.com</a></TD>
        </TR>
        <TR BGCOLOR="#F9F9F9">
            <TD width="1%" nowrap><B>Fax:</B></TD>
            <TD>+39 304040 303030</TD>
            <TD width="1%" nowrap><B>Skype:</B></TD>
            <TD></TD>
        </TR>

我需要获取该邮件地址,但我遇到了一些问题,因为我的代码会给我一个空文本。我试图解析表的整个文本,但结果是除了邮件之外的所有文本!如果我解析那个td或者我使用索引来找到一个href元素。我该如何解决这个问题?

这是我试过的代码

    Element info1 = doc.select("table").get(7); //this works
    Elements td = info1.select("td");
    String telefono="";
    String email="";    
Element tdtel=info1.select("td").get(1);
telefono = "Tel. :" + tdtel.text(); //this works
Element tdmail=info1.select("td").get(3);
Element linkmail =tdmail.select("a[href]").first(); //error here

2 个答案:

答案 0 :(得分:0)

试试吧,

Elements elements = doc.select("A[HREF=javascript:void(0);]");
System.out.println(elements.get(0).text());

答案 1 :(得分:0)

您需要a标记的内容,请尝试

Element linkmail =tdmail.select("a");
String mail = linkmail.text();