SafariBooks 项目教程
1. 项目目录结构及介绍
safaribooks/
├── .gitignore
├── LICENSE.md
├── Pipfile
├── Pipfile.lock
├── README.md
├── register_user.py
├── requirements.txt
├── safaribooks.py
└── sso_cookies.py
- .gitignore: 用于指定Git版本控制系统忽略的文件和目录。
- LICENSE.md: 项目的许可证文件,本项目使用WTFPL许可证。
- Pipfile: 用于管理Python项目依赖的文件,使用Pipenv工具时使用。
- Pipfile.lock: Pipenv工具生成的锁定文件,确保依赖版本一致性。
- README.md: 项目的主文档,包含项目的基本信息、使用说明等。
- register_user.py: 用户注册相关的Python脚本。
- requirements.txt: 项目依赖的Python包列表,使用pip工具安装依赖时使用。
- safaribooks.py: 项目的主启动文件,用于下载和生成EPUB格式的书籍。
- sso_cookies.py: 用于处理单点登录(SSO)的Python脚本。
2. 项目启动文件介绍
safaribooks.py
safaribooks.py
是项目的主启动文件,负责从O'Reilly Learning(即Safari Books Online)下载书籍并生成EPUB格式。以下是该文件的主要功能:
- 下载书籍内容: 通过指定书籍ID,下载书籍的HTML页面、CSS文件和图片。
- 生成EPUB文件: 将下载的内容转换为EPUB格式,并保存到指定目录。
- 用户认证: 支持通过命令行输入用户凭证或使用已保存的会话cookies进行登录。
使用示例:
$ python3 safaribooks.py --cred "account_mail@mail.com:password01" XXXXXXXXXXXXX
3. 项目配置文件介绍
requirements.txt
requirements.txt
文件列出了项目运行所需的Python包及其版本。使用pip工具安装依赖时,可以通过以下命令安装:
$ pip3 install -r requirements.txt
Pipfile 和 Pipfile.lock
Pipfile
和 Pipfile.lock
是使用Pipenv工具管理项目依赖的文件。Pipfile
定义了项目的依赖和开发依赖,而 Pipfile.lock
则锁定了依赖的具体版本。
使用Pipenv安装依赖:
$ pipenv install
进入虚拟环境:
$ pipenv shell
.gitignore
.gitignore
文件用于指定Git版本控制系统忽略的文件和目录,避免将不必要的文件提交到版本库中。
LICENSE.md
LICENSE.md
文件包含了项目的许可证信息,本项目使用WTFPL许可证。
README.md
README.md
文件是项目的主文档,包含了项目的基本信息、使用说明、安装步骤等内容。建议在开始使用项目前仔细阅读该文件。