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

Quang Vu Quang viết 19:42 ngày 01/10/2018
import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://www.oracle.com/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}
Phan Bá Hải viết 19:37 ngày 01/10/2018

Đó 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

Nguyen Kien viết 19:41 ngày 01/10/2018

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 ạ ?

Quang Vu Quang viết 19:38 ngày 01/10/2018

http://www.oracle.com/

Em sửa URL lại là : https://www.oracle.com/index.html

Giang Phan viết 19:35 ngày 01/10/2018

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.

Mason Ha viết 19:32 ngày 01/10/2018

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ý.

Bài liên quan
0