2011-07-12 144 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

這將返回一個節點列表,你可以遍歷得到這些標籤。