Download Manga Bằng Python (Final Update 12/08/2017 - Package)

Ý tưởng hay, cơ mà có hẳn 1 studio đã làm rồi => mangarock.com

Cơ mà ko sao cả, đây là giờ cho code review :smile:

2 Likes

Viết package rất có lợi, cho cả người khác dùng và cả khi bản thân mình dùng trong các app khác như web app.

Hồi xưa mình cũng hay viết kiểu flat structure như bạn này, mà sau muốn nâng cấp lên web app cực khổ. Vì thế rút kinh nghiệm, cái gì bé bé thì viết hẳn thành package, vừa dễ quản lý, vừa dễ import vào để dùng vì đã có cấu trúc rõ ràng hết rồi.

3 Likes

:smile: Mình sáng viết vội nên không rõ ràng, đã edit lại.

2 Likes

Cám ơn các góp ý nhiệt tình của anh :smiley:. Em đã xem xét và làm theo một trong số các góp ý của anh rồi ạ.

1 Like

Em đã thay thế urllib.request và thật sự requests tốt hơn nhiều thứ thật :smiley:.
Em cũng sẽ xem xét qua scrapy ạ.
Còn về nhu cầu mua thì em không có ạ.
Em rất cám ơn sự góp ý của anh :smiley: :grateful:

1 Like

Này là bà chị già cho em ý tưởng :smile: Em cũng không biết bã có biết qua cái ni không. Bà lúc đó chỉ hỏi: “Muốn làm gì đó real real không?”

1 Like

quái sao ko dùng của urllib 2 nhỉ

Update

  • Support thêm một website: http://truyentranh8.net/
  • Cho phép search tìm truyện, kết quả sẽ được tìm kiếm trên những trang được support
  • Cho phép tùy chỉnh hiện kết quả
  • Cho phép download với số lượng chap tùy ý (từ mới nhất)
  • Cho phép download một chap bất kì
  • Cho phép config threading để tăng tốc độ download (database\configthreading.txt)
  • Có một số command line cơ bản như
load       -  dùng để down all chaps từ một bộ
load only  -  dùng để down một chap
search     -  tìm kiếm truyện
exit       -  thoát
clear      -  xóa màn hình
5 Likes

Hi Nguyễn Thành Trung.
Thêm chức năng kiểm tra chap mới được không bạn. Mình hay đọc truyện có truyên 1 tuần ra một chap có truyện 2 tháng mới có 1 cháp nhiều khi quên luôn không biết đang dọc truyện gì nữa.

P/S Bạn có thể dùng file xml để lưu các thông số cấu hình như thế nó sẽ dễ hiểu hơn
https://stackoverflow.com/questions/791761/xml-for-configuration-files-why

1 Like

Với trang truyentranh8, bạn có thể không cần dùng thêm thư viện để giải mã. Mình dùng cách tách lấy phần bị packer rồi eval() 2 lần là lấy được biến lstImages chứa link ảnh của truyện.

var packer = document.querySelector('#logoTT8 ~ script').textContent.split('eval')[1],
  lstImages = [];

eval(eval(packer));
console.log(lstImages);
2 Likes

Mình có chức năng search đó bạn :wink:.
Còn nếu bạn muốn có một chức năng gọi là kiểm tra chap ở một website nào đó cụ thể. Bạn đồng ý thì mình sẽ thêm chức năng đó vào.

1 Like

Cám ơn bạn đã star cho Github.
Về phần double eval, cái này có áp dụng được cho Python không nhỉ?

2 Likes

Mình không học python nên không chắc lắm, mới dùng từ “có thể” :stuck_out_tongue:

1 Like

Sau khi cài và chạy thử trên Linux Mint toàn báo lỗi, phải nhập string. Vì thế mỗi lần nhập phải thêm dấu nháy bao quanh chuỗi. Bạn nên thay input bằng raw_input.
Khi tải một bộ truyện trên blogtruyen, có tiêu đề Tiếng Việt sẽ bị lỗi bảng mã, cần .encode('utf-8').

Còn đây là sau khi mình cài pylint :grin:

2 Likes

Em thật sự cảm ơn góp ý của em. Em sẽ update ạ
Còn cái pylint thì em vẫn chưa hiểu lắm ạ

1 Like

Là python linter, hầu hết editor nào cũng có. Nó giúp cảnh báo các lỗi typo, lỗi cú pháp, gợi ý cách viết code chuẩn mực,… giúp giảm thiểu khả năng xảy ra lỗi.

2 Likes

Chắc em phải dùng cái này thôi :smile:. Code em còn tệ quá. Thật sự cảm ơn anh ạ

1 Like

Mình cũng có viết tool tương tự bằng userscript mà không học python nên không tham gia được, thấy ngứa tay ghê :stuck_out_tongue:

2 Likes

Mini Update 11/08/2017

  • Cấu trúc theo OOP
  • Syntax format theo PEP8
  • Viết README.md

Chỉ có vậy thôi :slight_smile: Giờ thì code cũng đã có comment đầy đủ. Mọi người có thể dễ dàng hiểu code nếu muốn.

4 Likes

Hi Nguyễn Thành Trung.
Nếu bạn thích comment.
https://www.stack.nl/~dimitri/doxygen/manual/starting.html

VD:
https://ffmpeg.org/doxygen/trunk/index.html

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