首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用wget从网站大量下载pdfs的弹出窗口

使用wget从网站大量下载pdfs的弹出窗口
EN

Stack Overflow用户
提问于 2018-04-30 11:55:46
回答 1查看 186关注 0票数 0

我想使用下面的网站脚本从奥地利国家图书馆的wget下载一些免费的pdfs (旧报纸的副本):

代码语言:javascript
复制
for year in {14..57}; do
  for month in `seq -w 1 12`; do # -w for leading zero
    for day in `seq -w 1 31`; do
      wget -A pdf -nc -E -nd --no-check-certificate --content-disposition http://anno.onb.ac.at/pdfs/ONB_lzg_18$year$month$day.pdf
    done
  done
done

除了一些没有报纸的问题外,即使存在,我也不能下载任何问题。例如,我会遇到类似于1814年6月30日现有问题的错误:

代码语言:javascript
复制
http://anno.onb.ac.at/pdfs/ONB_lzg_18140630.pdf
Aufl"osen des Hostnamens anno.onb.ac.at (anno.onb.ac.at)... 193.170.112.230
Verbindungsaufbau zu anno.onb.ac.at (anno.onb.ac.at)|193.170.112.230|:80 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 404 Not Found
FEHLER 404: Not Found.

但是,如果要手动下载相应的pdfs (这里,见右上角),则必须在弹出确认中按"ok“。一旦您这样做,我甚至可以通过wget下载该问题,而不存在任何问题。

我如何告诉wget通过命令行确认确认(一旦您想下载pdf时得到的问题),请参见下面的屏幕截图。在wget里有命令吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-03 08:50:48

代码中有两个问题。

  1. 并非所有日期都有lgz报纸。
  2. PDF并不总是在您使用的URL上生成和缓存。您需要首先运行另一个URL,以确保生成PDF

下面是更新的代码,应该可以工作。

代码语言:javascript
复制
#!/bin/bash

for year in {14..57}; do
  DATES=$(curl -sS "http://anno.onb.ac.at/cgi-content/anno?aid=lzg&datum=18$year&zoom=33" |   gawk 'match($0, /datum=([^&]+)/, ary) {print ary[1]}' | xargs echo)

  for date in $DATES
  do 
      echo "Downloading for $date"

      curl "http://anno.onb.ac.at/cgi-content/anno_pdf.pl?aid=lzg&datum=$date" -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'DNT: 1' -H "Referer: http://anno.onb.ac.at/cgi-content/anno?aid=lzg&datum=$date" -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9' --compressed

      wget -A pdf -nc -E -nd --no-check-certificate --content-disposition http://anno.onb.ac.at/pdfs/ONB_lzg_$date.pdf
  done
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50100023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档