U.N.国連安全保障理事会(UNSC)の決議案をRに盗み出そうとしています.U.N.はUNSC決議すべてのオンラインアーカイブをPDF形式(here)で管理しています。だから、理論的には、これは可能なはずです。iframeからのPDFのスクラップR
特定の年のハイパーリンクをクリックし、特定のドキュメントのリンク(this oneなど)をクリックすると、ブラウザにPDFが表示されます。 URLバーのリンクにdownload.file
と指してそのPDFをダウンロードしようとすると、動作するようです。しかし、pdftools
パッケージのpdf_text
関数を使用してそのファイルの内容をRに読み込もうとすると、エラーメッセージがスタックになります。
これは私が失敗しようとしていることです。それを実行すると、私が話しているエラーメッセージが表示されます。
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)
私は何が欠けていますか?私はだと思います。これらのファイルのダウンロード可能なバージョンへのリンクアドレスは、ブラウザ内の表示用のリンクアドレスとは異なりますが、前者のパスを取得する方法はわかりません。ダウンロードアイコンを右クリックしてみました。 Chromeの「Inspect」オプションを使用して、そこに「src」として識別されたURLを表示します(this link)。私のプロセスの残りをそれに指しています。繰り返しますが、download.file
部分が実行されますが、pdf_text
を実行すると同じエラーメッセージが表示されます。私はまた、の部分をdownload.file
に変更し、b) ".pdf"をtmp
のパスの最後に付け加えましたが、どちらも助けられませんでした。
あなたはどのようなエラーメッセージを取得していますか?ファイルを 'download.file()'でダウンロードした後で開くことができますか? – MrFlick
@MrFlick、エラーメッセージのスタックは 'エラー:PDFファイルではない(続行中)'で始まり、 '不正な文字 'メッセージを含み、' Error:PDF parsing failure'で終わります。 – ulfelder
試しましたあなたのコードとダウンロードしたpdfファイルが壊れていました。ブラウザで上記のリンクを試すと、そこに何らかのエラーも出ます。リンクは正しいですか? – anonR