Cách lưu các trang truyện manga vào database

Hiện tại minh làm một đồ án về web đọc manga.
Mình đã tìm hiểu trên google nhưng vẫn chưa tìm được cách nào để lưu được các page của các trang manga này vào database.
Manga ở đây là tập hợp nhiều chapter, với mỗi chapter gồm nhiều trang hình ảnh.
Mong được mọi người giải đáp. Mình cảm ơn.

#1. Tạo dir để upload/chứa truyện tren server, ví dụ như:

/manga/dragonball/chap01/page_1.jpg->page_n.jpg
/manga/hentai/chap03/page_1.jpg->page_n.jpg

#2. Tạo database/table để lưu path bên trên
manga | chapter | page_path

#3. Khi load page để xem truyện, thì query vào database dể lấy paths và show ra web

5 Likes

Cảm ơn solution của bạn.
Vậy là mình chỉ lưu các path của các ảnh đó trên các trang web khác, hay mình tải thẳng nó về lưu trong db của mình sau đó up trang vậy ạ?
Và có cách nào nhanh để tải ảnh hay lưu link về db không ạ?

Chẳng ai lưu “ảnh” vào db cả, người ta dùng 1 server riêng làm server lưu trữ để lưu ảnh, và db thì chỉ dùng để lưu path của ảnh.

Bạn có hiểu được là hệ thống của mình sẽ vận hành theo theo mô hình nào không? Có vẽ ra giấy được thiết kế hệ thống không?

5 Likes

Phần mô hình cụ thể như bạn nói thì mình chưa vẽ ra.
Cái quy trình của nó mình nghĩ đơn giản là:
Client —> API —> query db —> trả về client kết quả để hiển thị

  • Client gửi lệnh xin Server link ảnh;
  • Server truy vấn db để lấy path của ảnh;
  • Server biến đổi path trở thành url của ảnh;
  • Server gửi url của ảnh về cho client;
  • Client tải ảnh về theo url;
    Đấy, thế này thôi.
5 Likes

Cái đoạn này, mình cắt gọn url những phần không cần thiết như “https://” rồi mới lưu vào db hả bạn?

Cái đó thì tùy bạn thôi.

3 Likes

Bạn có thể gợi ý công cụ nào đó để mình get link các trang manga về được không?
Nếu như mình không có nhu cầu lâu dài như các web truyện lớn, tức mình chỉ xây dựng 1 hệ thông lấy trực tiếp các trang truyện đang trên web của họ rồi hiển thị sang bên mình.
Thì liệu cách này có chậm hơn là lấy trực tiếp từ 1 server lưu trữ không?

Về vấn đề get link của bạn, đó chính là web crawling, cái này ko bàn ở đây được vì với mình nó quá phức tạp với bạn.
Còn cách hiển thị tài nguyên của người khác, thì nếu chỉ có bạn dùng thôi thì không chậm vì khi bạn vào web của họ thì hoạt động diễn ra cũng y chang thôi. Tuy nhiên trên thực tế là bạn đang cướp băng thông của người khác cho nên có thể sẽ chậm (vì lúc đó có 2 trang web: 1 của bạn, 1 của người ta cùng khai thác 1 server dữ liệu, số lượng user tăng lên…)
(Trang nettruyen.com làm kiểu y hệt như bạn vừa ghi)

5 Likes

Mình cũng đang nghi nghi cách của mình giống như người ta hay bảo là leech truyện.
Crawler xài python để lọc trang đúng không bạn.
Cảm ơn chia sẻ của bạn, mình đã mường tượng ra chút ít rồi.

Cái gì lập trình được ra phần mềm truy cập được internet thì crawl được.

3 Likes

Cảm ơn bạn nhé.
Mình chưa từng nghĩ sẽ có dùng cái nào khác ngoài python hay js để crawl :))
mở mang đầu óc

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?