2017-10-02 9 views
0

このtrain timetable web pageからデータにアクセスしたいと思います。私は、htmlファイルとしてローカルにソースコードを保存するときrvestでオンラインPDFをスクラップ

> read_html("https://www.scotrail.co.uk/sites/default/files/assets/download_ct/_sr1705_glasgow-edinburgh_via_falkirk_highv2.pdf") 

{xml_document} 
<html> 
[1] <body><p>%PDF-1.5\r%\xe2ãÏÓ\r\n22 0 obj\r&lt;&gt;\rendobj\r    \rxref\r22 97\r0000000 ... 
[2] <html><p>C*ÐsO\u0086ZFWM\u0086X H$\u0083&gt;\u0083-Ïs\u0086O=Ì\u008c"Lí½/1\u009c\u009fõ\u008e\u0 ... 

しかし、私はちょうど罰金内容をこすりすることができます:私は思い

> read_html("/path/to/this/file/_sr1705_glasgow-edinburgh_via_falkirk_highv2.html") 
{xml_document} 
<html dir="ltr" mozdisallowselectionprint="" moznomarginboxes=""> 
[1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n<meta charset="utf- ... 
[2] <body tabindex="1" class="">\n <div id="outerContainer">\n\n  <div id="sidebarContainer"> ... 

をURLにrvest使用すると便利な答えを与えるものではありませんhtmlファイルとして手動でダウンロードして保存するのではなく、URLを使用してスクレープするのが好きです。私はPDFについて根本的な何かを見逃しているように感じます。私はURLのファイル拡張子が.pdfだがF12はhtmlを明らかにするのは混乱している。

このURLから直接スクラップする方法はありますか?なぜローカルに保存しても問題が解決しないのですか?

+0

'read_html()'は、あなたがhtmlとしてpdfファイルを読み込もうとしているので、ごみを与えます。 PDFを保存するには 'download.file(" https://blablabla.pdf "、" save_here.pdf ")'を使用できます –

+0

どこから最初のURLを取得しますか?あなたはすべてのオンラインPDF文書のURLを持っていますか? –

+0

私はウェブサイトを使って最初のURLに移動しました。ドキュメントの数は、同じように他のURLを取得するのに十分なほど小さいです。 – joga

答えて

0

my_urlsという名前のベクトルに保存されているすべてのURLを持っている場合は、それを繰り返して、Rにそれらのファイルをダウンロードするように指示できます。 mapply()を使用して、おそらく、もう少しエレガント

my_urls <- c("www.pdf995.com/samples/pdf.pdf", 
      "che.org.il/wp-content/uploads/2016/12/pdf-sample.pdf", 
      "www.africau.edu/images/default/sample.pdf") 
save_here <- paste0("document_", 1:3, ".pdf") 

for(i in seq_along(my_urls)){ 
    download.file(my_urls[i], save_here[i]) 
} 

または

、:

mapply(download.file, my_urls, save_here) 

実行した後、あなたはあなたの作業ディレクトリに保存されてdocument_1.pdfと呼ばれる3つのPDFファイル、document_2.pdfdocument_3.pdfがあることがわかります。

+0

申し訳ありません私は私の質問でより明確にすべきでした。私は具体的にそのURLのpdfがhtmlソースコードを持っているのだろうと思っています。たぶん、私はpdfsやWebに関するいくつかの基本的な知識が不足しています。私の目標(可能な場合)は、rvestを使用してhtmlソースコードにアクセスすることで、ファイルのダウンロードを避けることができます。 – joga

+0

PDFファイルのHTMLソースコードは、どのように正確に取得されますか? –

+0

これはFirefoxにあります: 1.最初のURLを参照してください。 2. F12キーを押し、DOMとスタイルインスペクタに移動します。 3.トップhtmlノードをRclick:コピー - >外側html。 4.テキストエディタに貼り付けます。 5.拡張子が.htmlのファイルを保存します。私は参照してください。 – joga

関連する問題