You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过wget批量下载古登堡计划指定书架的所有.txt文件?

用wget批量下载古腾堡指定书架的所有TXT文件

可以通过**wget结合命令行工具(grep、awk)**实现,因为Gutenberg书架页面没有直接的批量下载参数,需要分三步操作:

1. 抓取书架内所有电子书的详情页链接

先获取目标书架页面的HTML内容,提取其中所有电子书的详情页URL:

wget -qO- https://www.gutenberg.org/ebooks/bookshelf/22 | grep -E '/ebooks/[0-9]+' | awk -F '"' '{print "https://www.gutenberg.org"$2}' | sort -u > ebook_links.txt
  • -qO-:静默下载页面内容并输出到标准输出
  • grep -E '/ebooks/[0-9]+':匹配所有电子书详情页的相对链接
  • awk:提取完整的URL并拼接域名
  • sort -u:去重后保存到ebook_links.txt文件

2. 从每个电子书页面提取TXT下载链接

遍历刚才保存的电子书链接,逐个页面提取TXT格式的下载地址:

while read link; do wget -qO- "$link" | grep -E 'https://.*\.txt' | grep -v 'utf-8' | head -1; done < ebook_links.txt > txt_download_links.txt
  • while read link:循环读取每个电子书详情页链接
  • grep -E 'https://.*\.txt':匹配页面内所有TXT下载链接
  • grep -v 'utf-8':过滤掉UTF-8编码的版本(如果需要保留,可删除此段)
  • head -1:取第一个有效TXT链接(部分电子书会有多个格式选项)
  • 最终将所有TXT下载链接保存到txt_download_links.txt

3. 批量下载所有TXT文件

用wget批量读取下载链接文件,完成下载:

wget --wait=2 -i txt_download_links.txt
  • --wait=2:每次下载间隔2秒,避免触发Gutenberg的下载限制(建议保留,防止被临时封禁)
  • -i:指定读取下载链接的文件

额外说明

  • 部分电子书可能没有TXT格式,这类链接会自动被wget跳过
  • 如果需要下载UTF-8编码的TXT文件,删除第二步命令中的| grep -v 'utf-8'即可

内容的提问来源于stack exchange,提问作者really_anxious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:00:03