Получение всех PDF-файлов из домена (например, * .adomain.com) - PullRequest
0 голосов
/ 05 июня 2010

Мне нужно скачать все PDF-файлы с определенного домена. В этом домене около 6000 pdf, и большинство из них не имеют ссылки html (либо они удалили ссылку, либо никогда не помещали ее на первое место).

Я знаю, что существует около 6000 файлов, потому что я гуглю: filetype: pdf site: *. Adomain.com

Однако Google перечисляет только первые 1000 результатов. Я считаю, что есть два способа добиться этого:

а) Используйте Google. Тем не менее, как я могу получить все 6000 результатов от Google? Может скребок? (попробовал scroogle, не повезло) б) Пропустить Google и искать прямо в домене для PDF-файлов. Как мне это сделать, если большинство из них не связаны между собой?

1 Ответ

0 голосов
/ 05 июня 2010

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

Вы можете взглянуть на http://www.archive.org и посмотреть предыдущее состояние страницы, если считаете, что в прошлом были ссылки на файлы.

Для рекурсивного извлечения всех PDF-файлов, упомянутых на сайте, я рекомендую wget. Из примеров на http://www.gnu.org/software/wget/manual/html_node/Advanced-Usage.html#Advanced-Usage

Вы хотите загрузить все картинки из каталога на http-сервере. Вы пробовали ‘wget http://www.server.com/dir/*.gif’,, но это не сработало, поскольку поиск http не поддерживает глобализацию. В этом случае используйте:

     wget -r -l1 --no-parent -A.gif http://www.server.com/dir/

Более многословно, но эффект тот же. '-r -l1' означает рекурсивный поиск (см. Рекурсивная загрузка) с максимальной глубиной 1. '--no-parent' означает, что ссылки на родительский каталог игнорируются (см. Ограничения на основе каталога), и '-A .gif 'означает загрузку только файлов gif. ‘-A" * .gif "’ тоже сработало бы.

(просто замените .gif на .pdf!)

...