2

Мне нужно скачать все PDF-файлы, представленные на сайте. Проблема в том, что они не перечислены ни на одной странице, поэтому мне нужно что-то (программа? рамки?) сканировать сайт и скачивать файлы, или, по крайней мере, получить список файлов. Я попробовал WinHTTrack, но не смог заставить его работать. DownThemAll for Firefox не сканирует несколько страниц или целые сайты. Я знаю, что есть решение, так как я не мог быть первым человеком, которому представили эту проблему. Чтобы вы посоветовали?

3 ответа3

4

Индексируется ли сайт Google? Вы можете просто найти на site:www.example.com filetype:pdf и он вернет все PDF-файлы, проиндексированные на этом сайте.

Пример:site:en.wikipedia.org тип файла:pdf


Другой способ сделать это - использовать wget, инструмент командной строки * nix, но доступный для окон. Используя рекурсивный режим и указав сохранение только файлов PDF, он может пройти по сайту и найти все файлы PDF.

wget.exe -r -A pdf -np http://www.example.com/ будет рекурсивно загружать все файлы PDF с сайта example.com и не будет пытаться перейти в родительский каталог (актуально, только если вы хотите начать с конкретный подкаталог).

Я на самом деле раньше не проверял использование WGET только с определенным типом файла, но раньше я выполнял рекурсивные загрузки, и он работал нормально, так что вы можете попробовать.

2

Я могу посоветовать вам использовать jsoup, Java HTML Parser, если вы знакомы с Java или BeautifulSoup, если вы знакомы с Python.

Напишите рекурсивный метод, который делает следующее:

  1. найти все ссылки на странице, которые имеют тег "a" и атрибут "href", получить его значение и сравнить ссылку с именем домена.
  2. чек расширение ссылки PDF или нет
  3. если эта ссылка имеет расширение pdf, загрузите ее или получите контент, если эта ссылка совпадает с доменом, и повторите ту же операцию.

Что-то вроде того.

-1

Это не самое простое решение, но оно мое любимое.

Напиши свой собственный паук! Пусть он пересекает сайт, разбирает страницы и ищет нужные файлы. Есть много интересных задач, которые приходят с написанием паука, и мне было очень весело.

Хотя это может быть не то, что искал archer1742, я уверен, что кому-то (возможно, и archer1742) понравится это решение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .