2011-07-12 106 views
0

我正试图编写一个程序,它将连接到一个网站,获取源代码,使用节点查找<body>标记。在该标签中,有三个我想要输入值的“文本字段”,并将其传回网站。使用节点连接到网站

我到目前为止找到<body>标签,但现在我实际上是无能为力。

try 
{ 
    Tidy tidy = new Tidy(); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    Document docx = tidy.parseDOM(new URL("http://www.clubvip.co.za/Login.aspx").openStream(), baos); 
    Node n = docx.getFirstChild(); 
    System.out.println(n.getNodeName()); 
    n = n.getFirstChild(); 

    System.out.println(n.getNodeName()); 
    while (n != null) 
    {      
    while (n != null) { 
    if (n.getNodeName() != "body") {       
     n = n.getNextSibling();       
     System.out.println(n.getNodeName()); 
+1

你有没有考虑过使用JSoup?它被设计用于网页抓取,imho提供了一个更好的DOM接口(更重要的是处理各种讨厌的HTML)。 –

+0

谢谢,今晚会试试JSoup。 :) – Foxticity

回答

0

实际上,你可以直接使用

docx.getElementsByTagName("tagname") 

参见文档here

这将返回一个节点列表,你可以遍历得到这些标签。