从 iFixit 文章制作 ZIM 文件
项目描述
我修复它
ifixit2zim是一个openZIM 抓取工具,用于以所有支持的语言创建iFixit网站的离线版本。
该爬虫下载 iFixit 资源(类别、指南等)并将它们放入 ZIM 文件中,这是一种干净且用户友好的格式,用于存储内容以供离线使用。
用法
ifixit2zim使用您必须通过参数提供的语言版本。--language支持的语言列表在--help消息中可见。
码头工人
docker run -v my_dir:/output openzim/ifixit ifixit2zim --help
Python
ifixit2zim是一个 Python3 ( 3.6+ ) 软件。如果您不使用Docker镜像,建议您在虚拟环境中使用它,以避免在您的系统上安装软件依赖项。除了 Python3,您还需要按照此处的建议安装最新的 pip、setuptools 和 wheel (wheel 很重要,因为您必须构建一些依赖项)。
python3 -m venv .venv
source .venv/bin/activate
# using published version
pip3 install ifixit2zim
ifixit2zim --help
# running from source
pip3 install -r requirements.pip
python3 ifixit2zim/ --help
调用deactivate退出虚拟环境。
有关requirements.txtpython 依赖项的列表,请参阅。
贡献
欢迎所有贡献!
请在 Github 上打开一个问题和/或提交一个拉取请求。
指导方针
创建合适的 Python 环境
第一次:
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.pip
下次:
source .venv/bin/activate
注意:在 MacOS 上执行底层 libzim 库存在一些已知错误。主要问题是全文索引不起作用,因此对于快速测试来说这应该不是问题。如有疑问,请在 Docker 容器中执行刮板,如下所述。
在 Docker 容器中测试刮板
首先,构建 Docker 镜像(在这个 repo 的主文件夹中运行):
docker build -t openzim/ifixit:local .
然后使用测试所需的 CLI 参数运行刮板(ifixit2zim以下示例中的所有内容)。
例如,如果您只想Apple_PDA用法语抓取类别,包括其指南:
docker run -it -v $(pwd)/output:/output --rm openzim/fixit:local ifixit2zim --language fr --output /output --tmp-dir /tmp --category Apple_PDA
这将在您当前目录的输出文件夹中生成一个 ZIM。
测试生产的ZIM
要测试生成的 ZIM 是否正常,您应该再次使用 Docker 运行 kiwix-serve。
例如,如果您在子文件夹中生成了一个名为ifixit_fr_selection_2022-04.zim的
output文件,并且您的机器上未使用端口 1256,您可以运行:
docker run -it --rm -v $(pwd)/output:/data -p 1256:80 kiwix/kiwix-tools kiwix-serve /data/ifixit_fr_selection_2022-04.zim
然后在您喜欢的浏览器上导航到 ( https://localhost:1256 )。
测试完成后,您可以按 Ctrl-C 停止 Docker 容器
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
ifixit2zim -0.2.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 3ffbad95e6d8f2af080be36e31783f754e4c5c3033ff21664783d02380ecf3a4 |
|
| MD5 | 1c7ec4455811a81c103bb823fd56a11c |
|
| 布莱克2-256 | 18639b0625288544d2d089c2d4c50d02934f12c8ee125e638a7a6fbb8ae8fdb4 |
ifixit2zim -0.2.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 95c45909b91bd6d49f2478c8d45402feca4d64eb364c5ff9cc74b331df9434d8 |
|
| MD5 | 41af2c560f260a26848b544381242f1a |
|
| 布莱克2-256 | 3a12aa1829b4dedb014d3e87d722ed8792428eec96c62548c7a987791b3802c9 |