Trong cùng 1 website muốn lấy dữ liệu từ 2 trang khác nhau thì có cách nào giải quyết?

Trong cùng 1 website muốn lấy dữ liệu từ 2 trang khác nhau thì có cách nào giải quyết ok vậy anh em ???

Bạn muốn crawl tất cả dữ liệu 1 website hay chỉ crawl những URL đã nhập vào thôi.

TH Crawl những URL có sẵn thì ko có gì để bàn nhé, cứ đọc URL, lấy source của page rồi lưu thôi. Còn bạn muốn Crawl hết 1 website thì làm thế này:

B1. Khởi tạo 1 đối tượng kiểu SET(Kiểu đối tượng chỉ lưu những phần từ unique) với phần từ đầu tiên là trang chủ website.
B2. Đọc trang chủ, lấy tất cả link mà trang chủ có lưu vào SET(tất nhiên bạn phải lọc chỉ lấy link nột bộ thôi nhé link out thì break luôn). Khi này bạn sẽ có những unique links được lưu trong SET.
B3. Lưu thông tin và những giá trị bạn phân tích được ở trang vừa đọc được vào DB
B4. Quay lại bước 1

Cứ thế đến khi nào phần từ màn bạn đọc là bằng với length của SET. Điều này có nghĩa là đọc đến phần từ cuối cùng rồi mà không lưu được thêm link vào vào trong SET vì các links đó đã lưu hết trong SET rồi => bạn đã crawl xong website đó.

Tất nhiên có rất nhiều cách kahcs nhưng bạn cứ thực hành theo kiểu đơn giản này đi đã nhé. :smiley:

2 Likes

Tks anh Nghĩa đã chỉ cách nhưng có lẽ câu hỏi của em chưa rõ ràng cho lắm. Ví dụ e có 1 link:
http://chonviec.com/ung-vien/tim-viec-lam/ket-qua-tim-kiem/trang-1
và chọn vào 1 công ty. sang link sau e đã lấy được toàn bộ thông tin mình cần. Nhưng có 1 điều e muốn lấy ngày đăng tuyển thì không biết lấy ntn để cho dữ liệu khớp nhau.

  • Anh có thể chỉ giáo cho em được không? Tks a nhiều
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?