Tôi đã "ngồi yên" tìm Cuốn sách bán "chạy" nhất Tiki như thế nào? - Phần 1: Đào Data
Vào một ngày em đang làm bài tập trên LeetCode với hy vọng lương tăng gấp rưỡi thì sếp em ra vỗ vai bảo: “Trâu, anh cần chú kiếm cho anh list sách đang best seller trên mấy con e-commerce cho anh.” Thế là em phải đi đào...
Thưa các bác,
Xin lỗi các bác vì Trâu em lặn lâu quá. Thực ra em không muốn lặn vậy đâu, nhưng “thằng”, em nhầm, “anh” sếp của em vừa trọc vừa cục, thành ra em mà không cày thì miễn tiền nuôi con luôn các bác ạ. May dịp (gần) cuối năm này có được tí tẹo rỗi rãi, em mới lại nổi lên để tâm hự với các bác một chút.
Ấy vậy mà đã 2 năm kể từ ngày em được vào làm Spiderum các bác ạ. Vui có, buồn có, may cái là vui nhiều hơn cái buồn. Em được học, được làm, được đồng nghiệp hết lòng hỗ trợ và công ty bạn bè yêu quý. Mỗi tội bận. Bận tối mắt tối mũi. Bận trói chân trói tay. Bận lên bận xuống bận trái bận phải các bác ạ. Em sức Trâu còn lắm lúc chịu không nổi.
Mà thằng, à không, anh sếp em tính tình lại còn thích đú đởn công nghệ nữa mới khổ. Tự dưng năm ngoái anh ý học đâu ra cái bài “Tôi có thằng em 96 Bách Khoa…”, thế là về bắt anh em trong team Digital Marketing bọn em phải đi… học code. Khổ nỗi trước nay thằng Trâu như em chỉ quen làm việc chân tay như kiểu đi link, đếm số, xem từ khóa, chứ đã bao giờ làm việc nhiều não như code đâu.
Có điều sau khi em nhìn thấy bảng lương của một thằng em khác làm IT thì em thèm thuồng quá, thế nên phải quyết tâm thêm kỹ năng, nhằm tăng bảng lương các bác ạ. Mình phải quyết tâm thoát nghèo bền vững chứ. Vậy nên em cũng lao tâm khổ tứ, thức ngày thức đêm để học cho bằng được cái món code củng này.
Vào một ngày em đang làm bài tập trên LeetCode với hy vọng lương tăng gấp rưỡi thì sếp em ra vỗ vai bảo:
“Trâu, anh cần chú kiếm cho anh list sách đang best seller trên mấy con e-commerce cho anh.”
“Ơ, best seller là gì hả anh?”
“Là sách bán chạy nhất đất thằng ngu!”
“Ơ, thế e-commerce là gì hả anh?”
“...”
“Thế anh muốn cụ thể em làm gì ạ?”
“Anh không biết, chú muốn làm gì thì làm, cho anh cái list sách best seller!”
“...”
Thế là em phải làm các bác ạ. Khổ lắm, mà thằng sếp em nó chỉ chém gió thôi chứ chắc gì đã biết đâu. Em định bảo là “ông thích thì ông đi mà làm”, nhưng nghĩ đến cảnh mẹ Trâu đang tay xách nách mang chăm con ở nhà em không dám. Em làm mà tức, thế nên nhân tiện thằng sếp em dạo này không dùng Spiderum nữa em lên đây kể xấu. Ngoài việc đấy ra thì lúc em mày mò cũng ra nhiều thứ hay phết các bác ạ, nên em chia sẻ đây với các bác. Em có làm sai các bác bảo em, để em làm cho đúng, không sếp em lại chửi với trừ lương, lại còn suốt ngày “đạo ný” “Thương cho voi cho rọt”. Chỉ được cái mõm.
Thôi, quay lại việc chính nhé các bác.
Phân tích đầu bài
Đầu bài của thằng sếp em là “List sách đang best seller trên mấy con e-commerce cho anh”. Câu này tối nghĩa vô cùng, nên em phải chẻ nhỏ nó ra thành từng phần, vậy mới tư duy được.
List sách: Danh sách các cuốn sách. Rồi, nhưng mà danh sách này dài bao nhiêu phần tử thì đ*o nói, thế tức là em phải định ra độ dài cho cái list này. Ở đây là 100 đi.
Best seller: Em sẽ chọn tiêu chí là sách bán được nhiều nhất về mặt số lượng. Có điều ở đây không có tiêu chí về khoảng thời gian, vậy nên sẽ chọn là tất cả đi cho dễ. Trước mắt cứ vậy đã. Với cả người Việt nên sẽ là sách tiếng Việt thôi chứ tiếng Tây em ọ ẹ lắm, chưa dám làm.
Mấy con e-commerce: Thực ra là mấy sàn Thương Mại Điện Tử, thương mại điện tử thì nói là thương mại điện tử, lại còn phải “e-commerce”, nhiễu… Vì em ít tiền nên cũng chỉ biết mấy chỗ như Tiki, Shopee thôi, chắc là làm đống này trước.
Các tiêu chí khác: giá, loại sách, số trang, tác giả… sẽ xem có lấy được không.
Như vậy, sau khi phân tích, thì yêu cầu sẽ là:
Lấy được một bảng dữ liệu sách bán ra với các tiêu chí sau:
Ngôn ngữ: Tiếng Việt
Nền tảng: Tiki, Shopee
Sắp xếp theo số lượng bán, với số lượng bán ít nhất là 10
Bảng này sẽ có thêm các thông số khác: giá, thể loại, số trang, tác giả… tùy vào việc có lấy được các thông tin đấy không
Bắt đầu đào thôi
Em sẽ làm Tiki trước vì em mua đây nhiều, rõ nhất cấu trúc của trang này. Code em để đây cho tiện theo dõi:
Và nếu bạn đang muốn học Python, các bạn có thể tham khảo khóa học từ Lập trình Python Zero đến hero
Các bước em làm sẽ như sau:
1. Em sẽ liệt kê các danh mục trong "Sách Tiếng Việt" + kiểm tra các danh mục đầu tiên trong list
2. Trong các danh mục con -> Kiểm tra xem nó có danh mục nhỏ hơn không -> nếu có lấy toàn bộ danh mục và thêm vào list all_categories? Nếu không còn danh mục con -> thêm chính nó vào all_categories
3. Để cho tối ưu, em sẽ đặt limit = 100 -> Mỗi request nhận về 100 giá trị.
4. Cần đặt tham số page cho url_generator để đến được lấy kết quả ở page tiếp theo, cần đặt max cho vòng lặp gửi request mỗi category.
VD: Sách văn học có 23136 kết quả -> Số lần gửi request = (23136/100) + 1
5. Data trả về mỗi lần là 100 cuốn sách: Tuy nhiên trong data này có rất nhiều trường -> Mình sẽ clean nó trước bằng cách chỉ lấy ra các trường cần thiết ví dụ như sku, name, url_path, quantity_sold["value"], price
6. Giờ sử dụng function trên chạy qua tất cả các category -> và lưu nó vào 1 list có tên là all_data: Có vẻ như không lấy được trọn bộ 23k cuốn để sau nha các bác
7. Em để file google sheet ở đây để các bác tham khảo: https://b.link/tiki-top-seller
8. Để tiện cho các bác theo dõi, cũng như để tiện cho các bạn thích tìm hiểu xem sách nào bán chạy ở các hạng mục, em xin mạn phép liệt kê một số đầu sách bán chạy ở các hạng mục lớn ở đây nha.
Tổng lượng bán theo category:
Top 63 xếp theo lượng bán của tất cả sách cũng đã khá kinh khủng :’(
STT Sách Lượng bán
60 Chiến Binh Cầu Vồng (Tái Bản 2020) 16,498
61 Mã thẻ điện thoại Viettel 1M 16,451
63 Phía Sau Nghi Can X (Tái Bản 2019) 16,268
64 Con Chim Xanh Biếc Bay Về 16,097
65 Người Đua Diều - Tái Bản 2018 15,724
66 Đặc Quyền Của Gái Hư 15,568
67 Thiết Kế Cuộc Đời Thịnh Vượng 15,523
68 Sự Im Lặng Của Bầy Cừu 15,430
69 10 vạn câu hỏi vì sao - trọn bộ 5 tập 15,391
70 Nhà Đầu Tư Thông Minh 14,887
Một vài tác phẩm kinh điển mà em lọc ra, để luôn link để mọi người tiện theo dõi.
STT Sách Lượng bán
01 Nhà Giả Kim (Tái Bản 2020) 23454
02 Hai Số Phận (Bìa Cứng) 22898
03 Chó sủa nhầm cây 10191
04 Những Tấm Lòng Cao Cả 9289
05 Tôi Thấy Hoa Vàng Trên Cỏ Xanh 6621
06 Tuyển Tập Mario Puzo (5 Quyển) 4097
07 Chúa Ruồi - Tiểu Thuyết 3715
08 Đất Máu Sicily (Mario Puzo) 3687
09 Đồi Gió Hú (Tái Bản) 3456
10 Cha Con Giáo Hoàng (Mario Puzo) 3239
Còn đây là những tác phẩm giả tưởng nổi tiếng nhất.
STT Sách Lượng bán
01 Boxset Harry Potter - Tiếng Việt 9470
02 Harry Potter Và Hoàng Tử Lai 6948
03 Harry Potter Và Bảo Bối Tử Thần 6684
04 Thư Viện Nửa Đêm 6512
05 Lĩnh Nam Chích Quái 5199
06 Lâu Đài Bay Của Pháp Sư Howl 5114
07 Xứ Cát 4882
08 Combo Harry Potter (Tập 5 - Tập 7) 3277
09 Combo Harry Potter (Tập 1 - Tập 4) 3253
10 Ma Thuật Bị Cấm 2176
Các bác còn muốn biết thêm sách về những thể loại nào, các bác cứ comment, em sẽ phục vụ dữ liệu cho các bác đầy đủ.
Mà đây mới chỉ là phần đào vàng thôi, còn phần đãi vàng em sẽ viết tiếp sau nhé các bác.
Một lần nữa, em để link sheet đầy đủ tại đây cho các bác:
Trâu xin chào các bác.
Quan điểm - Tranh luận
/quan-diem-tranh-luan
Bài viết nổi bật khác
- Hot nhất
- Mới nhất