用bash下载多个pdf文件

时间:2020-01-18 17:40:51

标签: python bash

我想使用简单的脚本从https://hebrewbooks.org/下载所有可用的书籍。

每本书(其中52,000本书)都分配有唯一的数字。例如: https://hebrewbooks.org/1 https://hebrewbooks.org/3 https://hebrewbooks.org/52000

但是许多数字已被跳过或删除。

通常,访问者会单击下载按钮,该按钮返回:(书号52000)

https://download.hebrewbooks.org/downloadhandler.ashx?req=52000

或(针对第1本书)

https://download.hebrewbooks.org/downloadhandler.ashx?req=1

我想将所有文件下载到本地磁盘,而不必在浏览器等中分别请求每个文件。

我知道这可以通过简单的脚本(甚至是bash脚本)来实现。

谁能建议我在哪里看或在哪里找到已解决的类似问题。

编辑:我忘记了一个重要问题。如何获取脚本以将每个下载文件的名称从ID(例如42000)更改为每个文件中包含的元数据?

2 个答案:

答案 0 :(得分:1)

如上所述,wget将是一个很好的工具。也许尝试循环使用它?

#! /bin/bash

#iterate 52,000 times
for i in {1..52000}; do

  sleep 1s
  wget [local path] "https://download.hebrewbooks.org/downloader.ashx?req=${i}" 

  # $i is the current iteration, therefore collecting all 52,000

done

编辑:刚意识到有人在主要问题上对此发表了评论,但是我将在这里留给所有不喜欢我的人。

答案 1 :(得分:0)

您可以将wget用于此任务:

wget /download/path/to/save/downloaded/file "https://download.hebrewbooks.org/downloader.ashx?req=book_number"

更多帮助:https://askubuntu.com/questions/207265/how-to-download-a-file-from-a-website-via-terminal

相关问题