gpt4 book ai didi

javascript - 在给定 JavaScript 语句的情况下使用 R 下载文件

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:53 24 4
gpt4 key购买 nike

我想创建一个 R 脚本,其中包括从 http://www.fangraphs.com/projections.aspx?pos=all&stats=bat&type=zips 下载棒球运动员投影数据。 .在数据表右上角附近的网页上有一个将此数据导出到 .csv 的链接,但它似乎是一个 JavaScript 命令 (javascript:__doPostBack('ProjectionBoard1$cmdCSV','')。我熟悉使用 download.file() 使用指向 .csv 文件的链接,但我不确定如何处理此问题。

我如何使用 R 来提取这些数据?

最佳答案

下载不是可以使用 download.file 轻松检索的简单响应。网页构造一个带有一些存储网页状态的巨大参数的 FORM,然后将其(以及大量 cookie)传递给服务器以获取 CSV 响应。

要在 R(或任何其他编程语言)中实现此功能,您需要构建该响应,这通常只能通过首先获取网页、抓取 FORM 参数(和 cookie),然后构建精确的 POST 来实现当您点击链接时请求您所做的。

使用 RCurl 可能会实现这一点,如果您的浏览器可以从其开发人员工具中保存 POST 请求参数,那么有时会更容易让 RCurl 读取它们。

Web 抓取中的另一种常见技术实质上是运行可由脚本语言自动执行的浏览器。有一个利用 Selenium 的 R 包可能能够做到这一点:

http://cran.r-project.org/web/packages/RSelenium/index.html

这里有一些相关(但不重复)的问题,例如:

How to use R to download a zipped file from a SSL page that requires cookies

几年前的 R-help 帖子也有一些建议:

https://stat.ethz.ch/pipermail/r-help//2012-September/335769.html

关于javascript - 在给定 JavaScript 语句的情况下使用 R 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856884/

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