簡體   English   中英

在R中登錄后下載/抓取/訪問在線PDF

[英]Download/scrape/access online PDF behind log-in in R

我目前正在嘗試使用制表符從大量文件中導入pdf表。 Tabulizer對於pdf來說效果驚人,我要做的就是:

table <- extract_tables("pdf_path" or "pdf_url)

但是,我遇到的問題是我嘗試從中提取這些pdf的網站需要您登錄(免費)才能查看pdf。 因此,我嘗試使用rvest和httr登錄到網站,然后抓取pdf。

url <- 'https://www.krollbondratings.com/show_report/20265'
session <- html_session(url)
url <- jump_to(session, "https://www.krollbondratings.com/auth?uri=/show_report/20265")
form <- html_form(read_html(url))[[2]]
filled_form <- set_values(form,
                          email = "my_email",
                          password = "password")

pdf <- submit_form(session, filled_form)

這是我遇到的問題,我知道我朝着正確的方向前進,因為“ submit_form(session,filled_form)”的輸出為:

<session> https://www.krollbondratings.com/show_report/20265
  Status: 200
  Type:   application/pdf
  Size:   260625

顯然,它實際上可以成功登錄並查看pdf,但是,我不知道如何使它保持登錄狀態,並使用download.file或tabulizers extract_tables實際下載/訪問pdf。

登錄后使用https URL下載文件

這是我找到的最好的教程,但是實際上並沒有下載pdf文件,而是下載了對我無用的html文件。

謝謝大家的寶貴時間。

解決了,它實際上確實下載了pdf文件,但不是pdf格式!

url <- 'https://www.krollbondratings.com/show_report/20265'
session <- html_session(url)
url <- jump_to(session, "https://www.krollbondratings.com/auth?uri=/show_report/20265")
form <- html_form(read_html(url))[[2]]
filled_form <- set_values(form,
                          email = "my_email",
                          password = "password")
pdf <- submit_form(session, filled_form)
download_url <- 'https://www.krollbondratings.com/show_report/20265'
writeBin(download$response$content, basename(download_url))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM