Я пытаюсь очистить текст резолюций Совета Безопасности ООН (UNSC) в R. U.N поддерживает онлайн-архив всех резолюций СБ ООН в формате PDF (here). Поэтому теоретически это должно быть сделано.Скребок PDF из iframe в R
Если я нажимаю на гиперссылку в течение определенного года, а затем на ссылку для конкретного документа (например, this one), я могу видеть PDF в своем браузере. Когда я пытаюсь загрузить этот PDF-файл, указав download.file
по ссылке в строке URL-адреса, он работает. Однако, когда я пытаюсь прочитать содержимое этого файла в R с помощью функции pdf_text
из пакета pdftools
, я получаю стек сообщений об ошибках.
Вот что я пытаюсь, это неудачно. Если вы запустите его, вы увидите сообщения об ошибках, о которых я говорю.
library(pdftools)
pdflink <- "http://www.un.org/en/ga/search/view_doc.asp?symbol=S/RES/2341(2017)"
tmp <- tempfile()
download.file(pdflink, tmp, mode = "wb")
doc <- pdf_text(tmp)
Что мне не хватает? I думаю, что имеет отношение к адресам ссылок к загружаемым версиям этих файлов, отличным от адресов ссылок для отображения в браузере, но я не могу понять, как получить путь к первому. Я попытался щелкнуть правой кнопкой мыши значок загрузки; используя опцию «Проверка» в Chrome, чтобы увидеть URL-адрес, указанный как «src» (this link); и указывая на остальную часть моего процесса на нем. Опять же, часть download.file
выполняет, но я получаю те же сообщения об ошибках, когда я запускаю pdf_text
. Я также попробовал a) изменить mode
часть вызова на download.file
и b) наклеить «.pdf» на конец пути до tmp
, но ни один из них не помог.
сообщения Какие ошибки вы получаете? Вы можете открыть файл после загрузки с помощью 'download.file()'? – MrFlick
@MrFlick, стек сообщений об ошибках начинается с 'error: Может быть, файл PDF (продолжающийся в любом случае)', включает в себя кучу сообщений «незаконного символа» и заканчивается «Ошибка: ошибка синтаксического анализа PDF». – ulfelder
Я попробовал ваш код и загруженный файл PDF были повреждены. Когда я пытаюсь использовать указанную ссылку в браузере, она также дает некоторую ошибку. Правильно ли ссылка? – anonR