读取网页数据的最快方法

问题描述

我有一个 .csv 文件,其中包含与比特币钱包相关联的近 100 万笔交易的交易 ID(发送和接收的交易),我将其作为小标题读入 RStudio。现在我正在尝试向表中添加另一列,列出每笔交易的费用。这是通过 API 调用完成的。

例如,要获得 txid 73336c8b2f8bbf9c4165de515765463d6e835a9f3f87bf822d8bcb23c074ae7f 的费用,我必须打开:https://blockchain.info/q/txfee/73336c8b2f8bbf9c4165de515765463d6e835a9f3f87bf822d8bcb23c074ae7f 并直接读取那里的数据。

这是我当前记录前 500 笔交易费用的代码

library(readr)
library(curl)
tx <- read_csv("transactions.csv",col_names = c("txid","amount"),skip = 0,n_max = 500)
tx$fee <- 0
for (i in 1:nrow(tx))
    tx$fee[i] <- scan(paste0("https://blockchain.info/q/txfee/",tx$txid[i]))
write_csv(tx,"tx_with_fees.csv")

显然,我最大的瓶颈是访问网页所花费的时间。用于读取数据的方法似乎无关紧要(我尝试过 curl、get 和 scan)。使用上面的代码,记录每笔交易的费用大约需要 0.4 秒。

我接下来要做的是简单地打开 5 个 RStudio 实例并在每个实例中为不同的 100 行集运行代码。这样我就能够平均在 0.1 秒内处理每一行。这使速度提高了 4 倍,但我相信有比简单地打开多个 RStudio 实例更有效的并行化方法

最好的方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...