2010-07-07 14 views
5

Tôi chỉ mới bắt đầu với HTMLUnit và những gì tôi đang làm là lấy một trang web và trích xuất văn bản thô từ nó trừ đi tất cả đánh dấu html.Làm cách nào để trích xuất văn bản mà không có thẻ HTML ra khỏi trang web bằng cách sử dụng HtmlUnit?

htmlunit có thể thực hiện điều đó không? Nếu vậy, làm thế nào? Hay có thư viện nào khác mà tôi nên xem?

ví dụ nếu trang chứa

<body><p>para1 test info</p><div><p>more stuff here</p></div> 

Tôi muốn nó ra

para1 test info more stuff here 

nhờ

Trả lời

5

http://htmlunit.sourceforge.net/gettingStarted.html chỉ ra rằng đây thực sự là có thể.

@Test 
public void homePage() throws Exception { 
    final WebClient webClient = new WebClient(); 
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net"); 
    assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText()); 

    final String pageAsXml = page.asXml(); 
    assertTrue(pageAsXml.contains("<body class=\"composite\">")); 

    final String pageAsText = page.asText(); 
    assertTrue(pageAsText.contains("Support for the HTTP and HTTPS protocols")); 
} 

NB: các page.asText() lệnh dường như cung cấp chính xác những gì bạn đang sau.

Javadoc for asText (Đã kế thừa từ DomNode sang HtmlPage)

+0

dù sao để làm điều này với thư viện htmlclient? – James

+0

Có vẻ như có thể (tôi cho rằng bạn đang đề cập đến Apache HttpClient) - http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/TrivialApp.java?view=markup – Syntax

Các vấn đề liên quan