我想使用简单的脚本从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)更改为每个文件中包含的元数据?
答案 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