跳转到主要内容

波兰国家图书馆polona.pl网站的图片下载器

项目描述

PyPolona

PyPolona 是一个免费且开源的GUI(图形)应用程序,允许您在Polona.pl数字图书馆中搜索和下载图片。它还作为一个ppolona CLI(命令行)工具使用。它也是一个可以从PyPI获取的Python包。源代码位于Github

Polona.pl 提供了波兰国家图书馆及其合作机构收藏的数字化书籍、杂志、图形、地图、音乐、传单和手稿。

使用PyPolona,您可以

  • 搜索Polona
  • 将搜索结果打印或保存为URL列表、YAML文件、JSON文件以及Polona文档ID的简单列表
  • 下载搜索结果中的所有或某些高分辨率图片,或下载提供的Polona文档ID列表中的图片

PyPolona的GUI版本是从命令行版本生成的,并使用与ppolona工具相同的设置。

记住:首次在macOS上运行GUI时,请Ctrl+点击 DMG,选择打开,然后打开,然后将它拖到应用程序文件夹,在那里Ctrl+点击应用程序图标,选择打开,然后打开

新增功能

当前版本是 1.6.0

1.6.0

  • 除非您指定 --no-text-pdf,否则 PyPolona 现在会下载一个额外的具有可搜索文本的 PDF 文件(如果可用)
  • --skip 现在是 --no-overwrite
  • 改进了 PDF 元数据导入,修复了错误

1.5.0

  • -i 将每个下载的文档保存为包含图片的子文件夹,否则保存为一个 PDF(包含元数据)
  • 使用 --skip 代替 --overwrite 标志

1.0.0

  • 初始发布

安装独立的 PyPolona 应用

下载 macOS 的 DMG 文件

macOS 上,Ctrl+点击 下载的 DMG 文件,选择 打开,然后再次 打开,然后将图标拖到 /Applications 文件夹。

当您 首次运行应用 时,Ctrl+点击 Polona.app,选择 打开,然后点击 打开。之后,您只需双击图标即可。如果应用没有运行,请再次双击。

下载 Windows 的 ZIP 文件

Windows 上,解压缩下载的 ZIP 文件,双击 setup_pypolona.exe 图标来安装应用。您需要 64 位 Windows。

在 macOS 或 Windows 上安装 pypolona Python 包

如果您有 Python 3.8+,可以使用 python3 -m pip install pypolona 安装 Python 版本。

使用图形 PyPolona 应用(GUI)

  • 如果您在 macOS 上安装了独立应用,Ctrl-点击 /Applications/PyPolona.app 并选择 打开,然后选择 打开。下次您可以直接双击运行。
  • 如果您在 Windows 上安装了独立应用,从开始菜单运行 PyPolona
  • 如果您安装了 Python 版本,运行 ppolonapython3 -m pypolona

搜索设置

Input tab

在“输入”选项卡中

查询 中,您可以粘贴一个或多个来自 Polona.pl 的 URL(空格分隔)。

Search in input

选择一个 中,您可以更改 查询 字段的意义

  • 如果没有选择任何选项,查询将被解释为一个或多个来自 Polona.pl 的 URL
  • 搜索:选择此选项,并在 查询 字段中输入一个简单的搜索查询,例如 adam mickiewicz;转到 选项 选项卡来自定义
  • 高级:您可以使用高级查询语法,请参阅 文档;转到 选项 选项卡来自定义
  • ids:Polona 使用文档 ID,如果您已经知道它们,可以直接粘贴一个由空格分隔的 ID 列表

在“选项”选项卡中

  • 空格分隔的语言 中,您可以输入一个由空格分隔的语言列表,例如 Polona 使用它们的方式,例如 polski niemiecki angielski。使用 Polona 网站侧边栏来查找它们。

  • 排序搜索 中,您可以根据分数、日期、标题或创作者对结果进行排序,升序或降序。

  • 以格式输出搜索结果 中,您可以选择搜索结果将输出的格式。如果您选择 ids,请点击 重启,然后将其粘贴回查询字段。选择 urls 以获取可点击链接。

  • 保存搜索结果 中,您可以可选地将搜索结果保存到文件。

下载设置

打开 下载找到的文档 以下载查询结果的全文。

  • 打开 将 JPEGs 下载到子文件夹中 以将每个文档内容作为一系列 JPEGs 下载。在下载文件夹中,为每个文档创建一个子文件夹。子文件夹名称以出版年份开头,然后是标题的一部分,然后是 ID。如果您还下载可搜索的 PDF,将在子文件夹中保存一个带有 _text 后缀的附加 PDF。此外,子文件夹中还将保存一个包含一些元数据的 YAML 文件。

  • 关闭 将 JPEGs 下载到子文件夹中,可以将每个文档内容下载为一个 PDF。应用程序不会创建子文件夹。PDF 名称以出版年份开头,然后是标题的一部分,然后是 ID。如果您还下载可搜索的 PDF,还会保存一个带有 _text 后缀的附加 PDF。

在“选项”选项卡中

Options

  • 将下载的文档保存在此文件夹中,您可以选择应用程序将文档下载到哪个文件夹。默认情况下,它使用您桌面的 polona 子文件夹。

  • 下载最大页数 中,您可以限制应用程序为每个文档下载的最大页数。这对于测试下载很有用,因为一些文档可能有数百页。

  • 对于某些文档,Polona 还有一个额外的低分辨率可搜索 PDF。默认情况下,该 PDF 也会下载并保存为 _text 后缀。打开 跳过下载可搜索 PDF 以不下载这些附加 PDF。

  • 默认情况下,应用程序将重新下载并覆盖之前下载的文档。打开 跳过现有子文件夹/PDF 以跳过它们。

按钮

Result

  • 点击 开始 以开始搜索或下载。
  • 点击 取消 以关闭应用程序。
  • 如果您已经开始并且搜索或下载已完成,您可以使用
    • 点击 重启 以使用相同的设置重新开始搜索或下载
    • 点击 编辑 返回以更改设置,这样您就可以开始另一个搜索或下载。
  • 如果下载正在运行,您可以点击 停止 以中断它。

使用 CLI

注意:CLI 是 ppolona,而不是 pypolona

  • 如果您在 macOS 上安装了独立的 DMG,请使用 CLI 通过 /Applications/PyPolona.app/Contents/MacOS/ppolona -h
  • 如果您安装了 Python 版本,请运行 ppolona -hpython3 -m pypolona -h
  • 命令行选项
usage: ppolona [-h] [-S | -A | -I] [-D] [-i] [-l [language [language ...]]] [-s {score desc,date desc,date asc,title asc,creator asc}]
               [-f {ids,urls,yaml,json}] [-o results_file] [-d download_folder] [-M num_pages] [-T] [-O]
               query [query ...]

Search in and download from Polona.pl. GUI: Help › PyPolona 1.6.0 Help. CLI: ppolona -h

optional arguments:
  -h, --help            show this help message and exit

Input:
  query                 query is a Polona.pl URL unless you choose search, advanced or ids
  -S, --search          Query is search query, see Options
  -A, --advanced        Query is advanced search query, see Documentation
  -I, --ids             Query is space-separated IDs
  -D, --download        Download found docs, see Options
  -i, --images          Download JPEGs into subfolders instead of PDF

Options:
  -l [language [language ...]], --lang [language [language ...]]
                        Space-separated languages: polski angielski niemiecki...
  -s {score desc,date desc,date asc,title asc,creator asc}, --sort {score desc,date desc,date asc,title asc,creator asc}
                        Sort search results by score, date, title or creator (descending or ascending)
  -f {ids,urls,yaml,json}, --format {ids,urls,yaml,json}
                        Output search results in format
  -o results_file, --output results_file
                        Save search results to this file
  -d download_folder, --download-dir download_folder
                        Save downloaded docs in this folder
  -M num_pages, --max-pages num_pages
                        Download max pages per doc (0: all)
  -T, --no-text-pdf     Skip downloading searchable PDFs
  -O, --no-overwrite    Skip existing subfolders/PDFs

更多关于 Polona 的信息

Polona 使用起来有些复杂,但幸运的是,Polona 发布了一个 JSON API。pypolona 包使用该 API。

  • Polona — 主 Polona 网站
  • Polona/API —  pypolona 所使用的 JSON API
  • Polona/blog —  博客
  • Polona/typo — 一个有趣的迷你网站,让您可以使用来自随机出版物的字母排版单词

开发

  • 此项目使用 Gooey。借助 Gooey,我可以将使用 argparse 模块的 Python 命令行应用程序快速转换为简单的 GUI 应用程序。该项目是一个很好的示例,说明了如何做到这一点。
  • 此项目使用 PyInstaller 来构建独立的应用程序。

在 macOS 上构建

要构建 Python 包,请构建 Mac DMG 和 Win EXE(通过 Wine)

./macdeploy prep && ./macdeploy build

在 Windows 上构建

  1. Python.org 安装 Python 3.8(不是 Windows 商店!)
  2. 安装 Inno Setup
pip3 install --user --upgrade .[dev]
python -m PyInstaller --distpath="app/build/dist-win" --workpath="app/build" -y "app/pyinstaller-win.spec"
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" /dMyAppVersion="1.1.7" app/pypolona.iss /Q

许可和版权

版权所有 © 2020 Adam Twardoch。根据 MIT 许可证 许可。本项目与 Polona 无关,也不受其支持。

<script async defer src="https://buttons.github.io/buttons.js"></script>

项目详情


下载文件

下载您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源分发

pypolona-1.6.0.tar.gz (16.0 kB 查看哈希值)

上传时间

构建分发

pypolona-1.6.0-py3-none-any.whl (12.7 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面