Загрузить все PDF ссылки на веб-странице? [закрыто]

23

Знаете ли вы хорошее программное обеспечение для загрузки всех PDF-ссылок на веб-странице?

Операционная система Windows 7.

я спрашиваю
источник

Ответы:

36

Вы можете использовать wget и запустить такую ​​команду:

wget --recursive --level=1 --no-directories --no-host-directories --accept pdf http://example.com

Или с короткими вариантами:

wget -r -l 1 -nd -nH -A pdf http://example.com

ОБНОВЛЕНИЕ: Поскольку ваше обновление говорит, что вы работаете в Windows 7: используйте wget для Windows из cmdкомандной строки.

ОБНОВЛЕНИЕ 2: Для графического решения - хотя это может быть излишним, так как он получает другие файлы, тоже DownThemAll

Кевин Уортингтон
источник
спасибо Кевину за совет, wget выглядит хорошо, в любом случае я бы предпочел «графическое» программное обеспечение, а не командную строку. :)
iAsk
2
Это отклоняет даже начальную страницу .html. Это когда-либо было проверено?
Дан3
Вопрос касается загрузки всех PDF-ссылок, так что да, начальная страница .html будет игнорироваться.
Кевин Уортингтон
Есть ли возможность сделать то же самое в Windows 7 с помощью Power Shell?
Бенедикт Бухерт
1
Я также предложил бы добавить задержку не менее нескольких секунд между загрузками файлов, чтобы было удобно и не перегружать удаленный сервер. e, g, для wget, добавьте флаг-w 5
KJH
6
  1. В вашем браузере нажмите CTRL+ SHIFT+ Jи введите

    var pdflinks = []; Array.prototype.map. call (document.querySelectorAll ("a [href $ = \". pdf \ "]"), функция (e, i) {if ((pdflinks || []). indexOf (e.href) == - 1) {pdflinks.push (e.href);}}); console.log (pdflinks.join (""));

    Это вернется в консоли:

    " /superuser/tagged/somepdf1.pdf " " /superuser/tagged/somepdf2.pdf " " /superuser/tagged/somepdf3.pdf "

  2. Теперь с wgetпомощью параметров командной строкиwget url1 url2 ...

Скопируйте и вставьте это, откройте консоль ввода, wgetнажмите правую кнопку мыши, чтобы вставить содержимое буфера обмена, и нажмите ввод.

Чтобы использовать загружаемый файл, объедините строки с помощью «\ n» и используйте параметр следующим образом wget -i mydownload.txt

Обратите внимание, что большинство других (GUI) программ загрузки тоже допускают вызов через разделенный пробелами список URL.

Надеюсь это поможет. Вот как я обычно это делаю. Это быстрее и гибче, чем любое расширение с графическим интерфейсом, я должен учиться и быть знакомым с.

Лоренц Ло Зауэр
источник
1
Еще лучше, console.log('"' + pdflinks.join('" "') + '"')- иначе вы фактически не получите цитируемые URL
dan3
1

Если вы хотите остаться в браузере, я написал веб-расширение именно для этой цели - я работаю над добавлением возможности сохранять научные статьи в формате PDF с правильно отформатированными заголовками, но если вы просто хотите загрузить их все, то это прекрасно за это.

Это называется Tab Save и в интернет-магазине Chrome здесь . Вам даже не нужно вводить список URL-адресов, если вы просто открываете их все на вкладках (но для большого количества файлов это может замедлить работу компьютера, поэтому я добавил опцию добавления своих).

Луи Мэддокс
источник
0

Я недавно использовал uGet (для Windows) для этого. Он имеет графический интерфейс, и вы можете фильтровать файлы, которые вы собираетесь загружать.

Спасает, пытаясь запомнить все эти

мыслительный
источник
0

В Google Chrome можно использовать такие расширения, как:

  • Скачать Мастер

    С этим расширением вы можете загружать все изображения, видео, PDF, документы и любые другие файлы, ссылки на которые вы посещаете.

kenorb
источник
0

Google

Существует несколько инструментов Python, которые позволяют загружать ссылки PDF с веб-сайта на основе результатов поиска Google.

Например

Примечание: я поддерживаю оба упомянутых скрипта.

Оба они реализуют xgoogleбиблиотеку Python. Мой форк этой библиотеки основан на pkrumins/xgoogleверсии .


Связанный: веб-поиск из командной строки Linux .

kenorb
источник