2010-10-22 24 views
5

Tôi đang tìm một thư viện java nhẹ đơn giản phân tích HTML. Tôi đã nhìn rất nhiều và có rất nhiều lựa chọn trên mạng. Nhưng tôi không thể tìm thấy một cái gì đó đơn giản. Tôi thực sự muốn có một cái gì đó giống như pyquery trong python ngoại trừ trong java. Yêu cầu của tôi là: nhanh, dễ sử dụng và nhẹ.jquery như lib trong java

Tôi cần nó để làm gì? Không chắc chắn nếu điều này quan trọng, nhưng tôi cần phải lập chỉ mục các phần của một tài liệu html. Vì vậy, tôi hy vọng sẽ có thể chọn một phần của tài liệu đó một cách nhanh chóng và sau đó phân tích nó.

Trả lời

6

Tôi đã sử dụng HTMLParser trong quá khứ. Tôi đã không hài lòng với nó. Tôi đã tìm thấy tagoup và jsoup. Tôi thực sự thích jsoup. Đã không sử dụng nó rộng rãi được nêu ra nhưng bạn có thể làm một cái gì đó như:

Elements resultLinks = doc.select("h3 > a"); // direct a after h3 
+0

Sau khi sử dụng jsoup, tôi nghĩ đó chính xác là những gì tôi đang tìm kiếm Tôi không hiểu tại sao sau rất nhiều googling, nó không được tìm thấy, nhưng nó có hầu hết mọi tính năng mà tôi cần. –

2

thử thử nghiệm. Nó có một số "slurpers", là các DSL để đọc trong đánh dấu như XML và HTML, cũng như JSON. Ví dụ: here.

+0

tại sao điều này được bình chọn xuống? – Ben

+3

và nó khá lame để bỏ phiếu mà không bình luận tại sao – Ben

+0

Groovy là một ngôn ngữ chạy trên JVM và về cơ bản rất dễ dàng để đưa vào dự án của bạn. Tôi không thấy lý do tại sao điều này lại bị bỏ phiếu. –

0

Nếu bạn muốn thư viện giống như jQuery, vì tiêu đề câu hỏi của bạn gợi ý, bạn nên xem qua GWT.

GWT sẽ cho phép bạn khám phá DOM của trang của bạn. Hãy thử hướng dẫn và trong 30 phút, bạn sẽ chắc chắn nếu bạn muốn biết thêm ...

+0

Điều này có vẻ thực sự nặng nề cho văn bản phân tích cú pháp: ( –

1

Sử dụng tagsoup để chuẩn hóa HTML thành xhtml và XOM để phân tích tài liệu kết quả. Nó không phải là khó.

XPath sẽ cho bạn dễ dàng lựa chọn tương tự với bộ chọn CSS.

+1

tôi tìm thấy jsoup tại http://jsoup.org/ tương tự như tagoup là gì? –

+0

Có vẻ tương tự. Thẻoup có thư viện java bạn có thể tải xuống cũng vậy, nhưng nó không cung cấp khả năng phân tích cú pháp hoặc tìm kiếm, nó chỉ tạo ra xml tốt mà bạn có thể phân tích cú pháp –