2010-11-02 17 views
6

Tôi đang làm việc trên một dự án và tôi cần thực hiện nhiều thao tác cạo màn hình để nhận được nhiều dữ liệu nhanh nhất có thể. Tôi tự hỏi nếu có ai biết về bất kỳ API hay nguồn lực tốt nào để giúp tôi.Dò web, sàng lọc màn hình, mẹo khai thác dữ liệu?

Tôi đang sử dụng java, nhân tiện.

Đây là những gì công việc của tôi đã được cho đến nay:

  1. Connect vào một trang web (sử dụng HTTPComponents từ Apache)
  2. Trang web có chứa một phần với một loạt các liên kết mà tôi cần phải truy cập (sử dụng được xây dựng trong các trình phân tích cú pháp HTML java để tìm ra tất cả các liên kết tôi cần truy cập là gì, đây là mã gây phiền nhiễu và lộn xộn)
  3. Truy cập tất cả các liên kết mà tôi đã tìm thấy
  4. Đối với mỗi liên kết tôi truy cập, có nhiều dữ liệu hơn tôi cần trích xuất, trải ra trên nhiều trang vì vậy tôi có thể cần phải visi t thêm các liên kết

Suy nghĩ:

  • Có ai biết về bất kỳ mức độ cao hơn/phân tích cú pháp html thông minh hơn so với xây dựng trong một java?
  • Về cơ bản đó là tìm kiếm đầu tiên về chiều sâu. Tôi tưởng tượng tôi muốn làm cho đa luồng này vào một lúc nào đó để tôi có thể truy cập một số liên kết này song song.
  • Có lẽ những gì tôi đang thực sự tìm kiếm là một trang web đa luồng bò thư viện

Nếu bạn chưa tìm ra, đây là lần đầu tiên của tôi rối tung xung quanh với điều này vì vậy tôi có một thời gian khó khăn cố gắng để nói rõ chính xác nhu cầu của tôi là gì. Tôi sẽ đánh giá cao bất kỳ đầu vào nào mà bất kỳ ai trong số các bạn đã thực hiện điều này trước khi có thể có.

+0

Chính xác bạn đang sử dụng trình phân tích cú pháp Java nào? (Không liên quan - khung công tác Java Executor là lý tưởng cho kiểm soát song song) – user486972

+0

http://stackoverflow.com/questions/7138296/how-do-i-get-the-source-of-a-given-url-from-a- servlet/7138434 # 7138434 Tôi đã tìm thấy điều này. Nghĩ rằng bạn sẽ quan tâm. – Srinivas

+0

Có một cái nhìn tại http://teusje.wordpress.com/tag/scrape/ nó chứa thông tin về làm thế nào để cạo dữ liệu với powershell và perl. – juFo

Trả lời

9

Tôi đã tìm thấy JSoup thực sự tốt cho phân tích HTML.

Để biết thêm gợi ý kiểm tra bài viết này ra: How to write a multi-threaded webcrawler

+0

Tôi thực sự chỉ tình cờ gặp phải liên kết đó. Tôi tự hỏi nếu có bất kỳ webcrawler tốt + combo parser. Mặc dù có lẽ tôi có thể sử dụng cả hai cùng nhau. – JPC

+0

Tôi tìm thấy bài đăng này tìm kiếm các công cụ tìm kiếm Java HTML và JSoup thực sự tốt. –

1

Thử sử dụng dự án Web-Harvest.

+0

Tôi sẽ kiểm tra điều đó, cảm ơn – JPC

0

Thanh toán JSR-237 cho Quản lý công việc, đó là một ý tưởng tuyệt vời khi đi đa luồng.

Để cạo, có một vài lựa chọn thay thế. Nếu dễ sử dụng là quan trọng nhất, tôi khuyên bạn nên HTMLUnit. Ngoài ra, bạn phải cuộn của riêng bạn

2

Tôi đã sử dụng Bixo để trích xuất các siêu liên kết và hình ảnh thực hiện tìm kiếm chuyên sâu. Nó được xây dựng trên hadoop và tầng để có một đường cong học tập nhưng ví dụ được cung cấp là đủ tốt để cấu hình các thay đổi ...