Blog

Bởi javinfo team

Cách dùng nhà cung cấp JavLibrary: tra cứu /movie và /query trần

Ghim javlibrary để tra cứu mã, hoặc để nó bắt các tìm /query trần mà nhà cung cấp khác miss. num hoạt động; filter thì không. Hình dạng request chính xác bên trong.

Nhà cung cấp javlibrary là nguồn dự phòng danh mục sâu: tuyệt khi mã biến mất ở mọi nơi khác, sai nếu bạn ghim nó cho mọi request rồi thắc mắc sao chậm. Đây là cách gọi nó mà không phải đoán.

Khi nào nên dùng

Dùng javlibrary khi:

Đừng ghim nó làm nguồn mặc định «luôn thử trước». Browser scrape nghĩa là latency cao hơn. Để nó cuối trong fan-out trừ khi có lý do.

Bối cảnh vì sao nó tồn tại: JavLibrary API.

1. Lấy key

Đăng ký tại app.javinfo.dev. Đặt key vào x-javinfo-key. Cùng key đó chạy trên RapidAPI qua header của họ nếu bạn thích đường đó.

2. Bản ghi đầy đủ: POST /movie

Mã chính xác, hàng chuẩn hóa đầy đủ:

Movie lookup
curl -X POST "https://api.javinfo.dev/movie" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS-001", "providers": "javlibrary" }'

Bạn nhận tiêu đề, dàn diễn viên, thể loại (categories), thời lượng, ngày phát hành, studio (makers / label), ảnh bìa (jacketFullUrl), cộng extra.pageUrlextra.sampleImages. source sẽ là "javlibrary".

Không magnet. Không stream .m3u8. Nếu cần những cái đó, ghim javdb hoặc missav thay thế — cùng hình dạng metadata, extras khác.

3. Tìm danh sách: POST /query

Tìm keyword trên mã và label. Giữ nó trần:

Bare query (num only)
curl -X POST "https://api.javinfo.dev/query" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS", "providers": "javlibrary", "num": 10, "page": 1 }'

Cái gì chạy:

Cái gì lặng lẽ (hoặc ầm ĩ) loại javlibrary:

Ở chế độ fan-out các param đó bỏ qua javlibrary và thử nhà cung cấp tiếp theo có khả năng. Nếu bạn ghim "providers": "javlibrary" với filter mà nó không đáp ứng được, bạn nhận 422 kèm lý do — không phải đoán một phần.

Hit query trông như:

Query hit shape
{
"q": "SSIS",
"source": "javlibrary",
"count": 10,
"results": [
{
"id": "javmezzbqu",
"dvdId": "SSIS-001",
"title": "Newcomer NO.1 STYLE ...",
"cover": "https://...",
"releaseDate": "2020-07-07",
"extra": { "url": "https://www.javlibrary.com/en/..." }
}
]
}

Ảnh bìa và ngày phát hành được backfill từ chỉ mục DMM/FANZA khi khớp được mã. Thumbnail list là phương án dự phòng.

Fan-out vs ghim

Thứ tự mặc định (hit đầy đủ đầu tiên thắng):

FANZA → DMM → missav → javdb → javdatabase → javlibrary

Bỏ providers thì javlibrary chỉ trả lời khi mọi nguồn phía trước miss hoặc không thỏa request. Ghim khi bạn muốn đúng nguồn đó dù một nguồn nhanh hơn cũng làm được.

Lỗi lãng phí một lượt gọi

Mong link tải xuống. Sai nhà cung cấp. Dùng javdb.

Gửi filter.genre trong khi ghim javlibrary. 422. Bỏ filter hoặc ghim nguồn hỗ trợ (fanza/dmm, missav, javdatabase).

Dùng nó vì tốc độ. Nó ở cuối là có lý do. Cache giúp trên mã lặp (cacheTtl một giờ phía server), nhưng scrape lần đầu vẫn là việc trình duyệt.

Đối xử /query như trình duyệt archive đầy đủ. Đây là keyword relevance, không phải archive genre ∩ studio. Để duyệt kiểu archive, javdatabase gần hơn.

Giá + bước tiếp

/movie thành công = $0.0005. /query thành công = $0.0002. Miss và lỗi không tính phí. Đăng ký mới được 1.000+ lượt tra cứu miễn phí.

Lấy key, chạy curl ở trên, rồi nhét cùng body vào app. Một tích hợp không khóa nhà cung cấp — JavLibrary chỉ là một id nữa trong providers.