malemkhoang
Rìu Chiến
Học ngôn ngữ lập trình Python như học một ngôn ngữ.
(C)Ma Lem Khoang
pypub là thư viện Python giành cho đóng gói ePub khá nhỏ gọn và đầy năng lực.
Việc cài đặt là dễ dàng trên các nền tảng HĐH, trong đó với Windows sử dụng câu lệnh từ CMD như sau:
pip install pypub
Đặc trưng:
* Tạo tệp .epub cho dù bạn không hiểu gì về nó từ các nguồn: trực tuyến, tệp cục bộ, chuỗi văn bản hoặc phối hợp cả ba thứ đó.
* Nội dung nguồn khi đóng gói được dọn dẹp để loại bỏ những thứ không cần thiết như: script, style...
* Ảnh được lưu trực tiếp vào .epub (mặc dù điều đó làm cho dung lượng tệp lớn hơn)
* Người đóng gói tùy chỉnh được nội dung chương và cấu trúc ePub.
Ví dụ:
>>> import pypub
>>> my_first_epub = pypub.Epub('My First Epub')
>>> my_first_chapter = pypub.create_chapter_from_url('https://en.wikipedia.org/wiki/EPUB')
>>> my_first_epub.add_chapter(my_first_chapter)
>>> my_first_epub.create_epub('OUTPUT_DIRECTORY')
chỉ đơn giản vậy thôi là có ngay tệp .epub từ một trang trực tuyến.
Ngoài ra còn có thể chuyển đổi .epub thành các tệp Amazon Kindle .mobi hoặc .azw3 (các bạn tự tìm hiểu).
Thông tin tham khảo về pypub:
Thông tin giành cho người lập trình:
Còn có một thư viện khác dùng để đóng gói ePub là: ebooklib, nhưng có thể không dễ dùng bằng pypub.
Tuy nhiên, cho đến khi tôi thực hiện bài viết này, pypub chỉ hoạt động trên môi trường Python2.
Do đó, nếu muốn nó hoạt động được trên môi trường Python3 thì cần phải cải tạo nó.
Tức là hiệu chỉnh mã nguồn của pypub để nó hoạt động được trong môi trường Python3, điều này được tác giả pypub cho phép (xem: Thông tin tham khảo về pypub).
Việc cài đặt là dễ dàng trên các nền tảng HĐH, trong đó với Windows sử dụng câu lệnh từ CMD như sau:
pip install pypub
Đặc trưng:
* Tạo tệp .epub cho dù bạn không hiểu gì về nó từ các nguồn: trực tuyến, tệp cục bộ, chuỗi văn bản hoặc phối hợp cả ba thứ đó.
* Nội dung nguồn khi đóng gói được dọn dẹp để loại bỏ những thứ không cần thiết như: script, style...
* Ảnh được lưu trực tiếp vào .epub (mặc dù điều đó làm cho dung lượng tệp lớn hơn)
* Người đóng gói tùy chỉnh được nội dung chương và cấu trúc ePub.
Ví dụ:
>>> import pypub
>>> my_first_epub = pypub.Epub('My First Epub')
>>> my_first_chapter = pypub.create_chapter_from_url('https://en.wikipedia.org/wiki/EPUB')
>>> my_first_epub.add_chapter(my_first_chapter)
>>> my_first_epub.create_epub('OUTPUT_DIRECTORY')
chỉ đơn giản vậy thôi là có ngay tệp .epub từ một trang trực tuyến.
Ngoài ra còn có thể chuyển đổi .epub thành các tệp Amazon Kindle .mobi hoặc .azw3 (các bạn tự tìm hiểu).
Thông tin tham khảo về pypub:
GitHub - wcember/pypub: Python library to programatically create epub files
Python library to programatically create epub files - wcember/pypub
github.com
Thông tin giành cho người lập trình:
Còn có một thư viện khác dùng để đóng gói ePub là: ebooklib, nhưng có thể không dễ dùng bằng pypub.
Tuy nhiên, cho đến khi tôi thực hiện bài viết này, pypub chỉ hoạt động trên môi trường Python2.
Do đó, nếu muốn nó hoạt động được trên môi trường Python3 thì cần phải cải tạo nó.
Tức là hiệu chỉnh mã nguồn của pypub để nó hoạt động được trong môi trường Python3, điều này được tác giả pypub cho phép (xem: Thông tin tham khảo về pypub).
EPUB là định dạng tệp sách điện tử sử dụng phần mở rộng tệp ".epub". Thuật ngữ này là viết tắt của xuất bản điện tử. EPUB được hỗ trợ bởi nhiều trình đọc sách điện tử và phần mềm tương thích có sẵn cho hầu hết các thiết bị như: điện thoại thông minh, máy tính bảng và máy tính.
Môi trường thực thi Interpreter:
Có nhiều môi trường thực thi Interpreter.
Tôi sử dụng 2 môi trường sau (nhỏ nhẹ và Portable):
1. PyScripter
PyScripter-v4.0 07/05/2021, tải về từ:
PyScripter
Download PyScripter for free. Python IDE. PyScripter is an open-source Python Integrated Development Environment (IDE) created with the ambition to become competitive in functionality with commercial IDEs available for other languages. It is a feature-rich but also lightweight.
sourceforge.net
Tuy nhiên, tôi dùng PyScripter-v3.6 thấy thú vị hơn.
2. Wing Personal
Wing Personal - Version 7.2.9 - Released 2021-04-12, tải về từ:
2. Wing Personal
Wing Personal - Version 7.2.9 - Released 2021-04-12, tải về từ:
Download Wing Personal v. 10.0.6 - Wing Python IDE
Download Wing Personal version 10.0.6.0 product and documentation
wingware.com
Môi trường thực hành:
Tôi chọn vnthuquan làm môi trường thực hành.
Ở đây hiện có gần 14.000 truyện text có số lượng chương, phần khác nhau.
Một đặc điểm nữa là địa chỉ các truyện và chương bị mã hóa.
Trông nó khủng khiếp như thế này:
Mời đọc tác phẩm: Red - Cuộc Phiêu Lưu Của Cô Bé Quàng Khăn Đỏ, - Trang Sách Truyện Việt Nam thư quán
Thu vien truyen, tho, Nhac, dien dan
vnthuquan.net
Tuy nhiên, không hoàn toàn như vậy, bạn không phải lo lắng về điều này.
Tôi tạo lập trước một CSDL .csv toàn bộ địa chỉ của các truyện (vnthuquanDB.csv) để thuận tiện cho việc đóng gói trực tuyến.
Thực hiện công việc:
1. Cài đặt Python3 cho Windows
Tải về và cài đặt Python3 (bản cuối): Python 3.9.5 Release Date: May 3, 2021
2. Cài đặt các thư viện cần thiết cho Python
Sử dụng cmd để thực thi lệnh cài đặt gói thư viện của Python: pip install <tên thư viện>
trong đó <tên thư viện> là các thư viện sau:
- bs4
- csv
- os
- pathlib
- pypub
- re
- requests
- urllib3
Lưu ý:
Khi hoàn thành cài đặt gói pypub, cần sao chép lại đường dẫn lưu gói thư viện này để chỉnh sửa về sau.
3. Cài đặt môi trường thực thi Interpreter
Giải nén PyScripter và/hoặc Wing Personal vào thư mục nào đó tùy ý của bạn.
- Thực thi PyScripter.exe lần đầu để cài đặt môi trường làm việc cho PyScripter.
- Thực thi ..\bin\wing-personal.exe lần đầu để cài đặt môi trường làm việc cho Wing Personal.
4. Tiến hành
4.1. Tải về gói tệp của tôi (pypub MLK Modify.zip) bao gồm:
- pypub đã chỉnh sửa;
- CSDL: vnthuquanDB.csv;
- Script Python: pypubcreateEbookFromVNTQ.py;
- Tệp này: Read.md;
4.2. Giải nén, sao chép nội dung thư mục "pypub MLK Modify" vào thư mục "pypub" của bạn.
4.3. Sao chép vnthuquanDB.csv, pypubcreateEbookFromVNTQ.py vào cùng thư mục với PyScripter.exe hoặc \bin\wing-personal.exe
4.4. Thực thi PyScripter.exe hoặc \bin\wing-personal.exe
4.5. Nạp pypubcreateEbookFromVNTQ.py vào vùng soạn thảo của PyScripter.exe hoặc wing-personal.exe
4.6. Cho thực thi script trong môi trường Interpreter của PyScripter.exe hoặc wing-personal.exe
4.7. Chờ đợi kết quả... (tốc độ đóng gói cỏ vẻ hơi chậm)
Gói tệp của tôi ở đây:
Script hoạt động có thể còn có lỗi.
Mong được các bạn sao chép thông báo lỗi rồi post lên đây để mình hoàn thiện.
Xin xảm ơn.
Sửa lần cuối: