01/10/2018, 17:30
Gợi ý công nghệ sử dụng để lấy dữ liệu tự động đổ vào database
Em đang làm một hệ thống rút trích tài liệu theo chuyên nghành bằng jsp/servlet, thầy giáo em bảo phải lấy được dữ liệu tự động từ một trang khác đổ vào trang lưu trong database để hiển thị lên. Em đang thắc mắc không biết phải sử dụng công nghệ gì của java để làm, mong các anh/chị giải đáp em xin cảm ơn
Bài liên quan
Đó là crawl data
Bạn có thể dùng cách trên của bạn @quangquangvu hoặc sử dụng thư viện như Jsoup để crawl data theo html element
Khi em chạy đoạn code anh chỉ ở console em không nhận được kết quả gì cả. Vì sao lại như vậy ạ ?
Em sửa URL lại là : https://www.oracle.com/index.html
Sử dụng thư viện Jsoup để lấy dữ liệu về, sau khi phân tích xong thì insert vào database.
GP Coder – 2 Jan 18
Hướng dẫn phân tích nội dung HTML sử dụng thư viện Jsoup - GP Coder (Lập trình...
Hướng dẫn lập trình Java, Design Pattern, Spring, JSF, Primefaces, Collection, Multi-thread, Webservice, SQL, Report, Apache POI.
Những việc như crawl dữ liệu từ nơi khác về thì bạn nên dùng một tools nào đó cho phép chạy định kỳ công việc, chạy theo lịch (ví dụ thứ 2, thứ 5 hàng tuần) ( hay gọi là cron job).
Một giải pháp đơn giản bạn có thể bắt đầu ngay đó là setTimeOut để chạy hàm (mình lấy ví dụ hàm từ javascript) bao nhiêu phút, giây một lần. Việc này có thể sẽ mất thời gian hơn bạn chạy hàm trực tiếp cho đến khi không còn dữ liệu nhưng sẽ tránh khỏi bị trang web block ip hay bị rate limit (giới hạn request trong 1 khoảng thời gian).
Về chạy job thì bạn có thể google từ khóa “how to run job by schedule in java” (mình không code java nên không biết).
Về tool crawl thì dùng jsoup là hợp lý.