gpt4 book ai didi

r - 如何捕获站点生成的文档(使用 R)

转载 作者:行者123 更新时间:2023-12-02 03:27:38 24 4
gpt4 key购买 nike

我正在尝试按如下方式下载 pdf 文件:(因为这是一个商业站点,我不得不替换下面的 url、用户名和密码)

## login to the site first
library(RSelenium)
RSelenium::checkForServer()
RSelenium::startServer(log = TRUE, invisible = FALSE)
remDr <- remoteDriver(browserName = "chrome")
remDr$open()
remDr$setImplicitWaitTimeout(3000)
remDr$navigate(url) # the url of the login page
remDr$findElement("id", "LoginForm_username")$sendKeysToElement(list("user"))
remDr$findElement("id", "LoginForm_password")$sendKeysToElement(list("pass"))
remDr$findElement("name", "start")$clickElement() ## this is the login button

这是一个包含公司互动数据的网站。知道了 api,我已经找出了我感兴趣的每个报告的页面名称。页面上有一个“下载 pdf”按钮。当我单击此按钮时,该站点会动态生成 pdf 格式的报告并返返回告(具有随机名称,如“97da08491e3e41447f591c2b668c0602.pdf”。我认为它为此使用 wkhtml2pdf。我使用以下代码单击按钮:

# pp is the name of a link for a given report
remDr$navigate(pp)
Sys.sleep(7) # wait for the page to load
remDr$findElement("id", "download-pdf")$clickElement()

当点击“下载 pdf”按钮时,文档由站点生成,然后由 Chrome 保存。 (随机名称每次都不同,我无法使用 download.file() 之类的东西来获取它)这工作正常,除了文档是用这个随机名称保存的。相反,我想捕获站点返回的 pdf,然后使用更具信息性的名称保存它(我必须这样做数百次,所以我不想按顺序手动浏览所有 pdf查找有关特定公司的报告)。

所以,我的问题是:我如何捕获由网站动态生成并返回的 pdf,然后将其保存在我自己选择的名称下?

(很抱歉无法提供该站点的链接,但这是一个专有站点,不允许我公开共享。但是,我希望这个问题可能对更多人和更多站点有用).

最佳答案

您可以使用 R 操作下载文件夹中的文件。我将简单地列出这些文件:

L <- dir(".",pattern="*.pdf")

如果需要,您可以使用以下信息选择最后一个 PDF:

 file.info(L)

然后使用

更改文件名
file.rename(identifiedName, meaningFullName)

关于r - 如何捕获站点生成的文档(使用 R),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com