forループでのAPI呼び出しを高速化する方法

フランク

最近、API呼び出しで検索ボリュームを探すためのスクリプトを作成しました。

これが私が使用したスクリプトです:

install.packages("SEMrushR")
library(SEMrushR)

#Data frame to append data

final_result_useo_rumbo <- data.frame()
mes_keywords_to_check <- readLines("useo_rumbo_es.txt") 
mes_keywords_to_check <- as.character(mes_keywords_to_check)

#Loop in order to look for each keyword that is in my list, then return Search volume thanks to the API call and finally store it in a new database.

for (i in 1:length(mes_keywords_to_check)) {
  test_keyword <- as.character(mes_keywords_to_check[i])
    df_test_2 <- keyword_overview_all(test_keyword, "es","API KEY")  
  final_result_useo_rumbo <- rbind(final_result_useo_rumbo,df_test_2)
}

スクリプトは問題なく機能していますが、問題は、チェックするキーワードがたくさんあることです(800 000)。60 000のキーワードでそれを行ったとき、続行するのにほぼ4時間かかりました...

プロセスをスピードアップする方法を知っていますか?スクリプトを書くためのより良い方法はありますか?

Tim Biegeleisen

forループをapply関数に置き換えてみることができます。

result <- sapply(mes_keywords_to_check, function(x) {
    keyword_overview_all(x, "es", "API KEY")
})

次に、data.frameマトリックスではなくデータフレームが必要な場合、上記のようにすることができます。

result <- data.frame(result)

または多分転置を取る:

result <- data.frame(t(result))

ループの前にそのベクトル全体を文字に変換済みであるため、のas.character各エントリを呼び出す必要はありませんmes_keywords_to_check(またはapply上記の場合は呼び出します)。また、rbindループの各反復で呼び出す必要はおそらくありませんむしろ、Rにデータをロールアップさせ、ループ/適用が完了した後にどうするかを心配します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

foreachループ内のWebClient呼び出しを高速化する

分類Dev

Web ページの読み込み時間を高速化する方法 (CRON? バックグラウンドでの API 呼び出しの読み込み?)

分類Dev

nodejsでの複数の待機中の呼び出しを高速化する

分類Dev

API-Managementの開発者ポータルでAPI呼び出しをグループ化する方法

分類Dev

.bash_profileのbrew--prefixの呼び出しを高速化する方法はありますか?

分類Dev

Rcppを使用してforループを高速化する方法は?

分類Dev

SKProductをディスクに永続化して、アプリの購入を高速化(ネットワーク呼び出しを削除)できますか?

分類Dev

このループコードを高速化する方法は?

分類Dev

numpyでforループを高速化する方法

分類Dev

ExcelVBAでループを高速化する方法が必要

分類Dev

ループ内でこの MATLAB コードを高速化する方法は?

分類Dev

phpapi呼び出しの高速化

分類Dev

Python関数の「for」ループを高速化する方法は?

分類Dev

このPyMongoクエリ/ループを高速化する方法

分類Dev

PHPでループ内の単一クエリを高速化する方法は?

分類Dev

パラメータと戻り値の型のプライベート型を持つ高速呼び出しデリゲートを作成して、DynamicInvokeを高速化する方法

分類Dev

Rで関数内のforループを高速化する

分類Dev

JavaScriptでネイティブメソッドの呼び出しを高速化できますか?

分類Dev

巨大なファイルのRでのループ実行プロセスを高速化する方法

分類Dev

複数の呼び出しを高速化するために、実行時定数の値を関数ロケールの静的変数に格納することは良い/悪い習慣ですか?

分類Dev

C#でforループを高速化する方法はありますか?

分類Dev

AngularコンポーネントでAPI呼び出しをカプセル化する方法は?

分類Dev

SPIを介してADSチップのサンプルレートを高速化する方法

分類Dev

Pythonでこのループを高速化することは可能ですか?

分類Dev

Pythonでネストされたforループを高速化する方法

分類Dev

Python DataFrameでネストされたループを高速化する方法は?

分類Dev

Rループを高速化する方法

分類Dev

forループを高速化する方法は?

分類Dev

MATLAB for ループを高速化する方法

Related 関連記事

  1. 1

    foreachループ内のWebClient呼び出しを高速化する

  2. 2

    Web ページの読み込み時間を高速化する方法 (CRON? バックグラウンドでの API 呼び出しの読み込み?)

  3. 3

    nodejsでの複数の待機中の呼び出しを高速化する

  4. 4

    API-Managementの開発者ポータルでAPI呼び出しをグループ化する方法

  5. 5

    .bash_profileのbrew--prefixの呼び出しを高速化する方法はありますか?

  6. 6

    Rcppを使用してforループを高速化する方法は?

  7. 7

    SKProductをディスクに永続化して、アプリの購入を高速化(ネットワーク呼び出しを削除)できますか?

  8. 8

    このループコードを高速化する方法は?

  9. 9

    numpyでforループを高速化する方法

  10. 10

    ExcelVBAでループを高速化する方法が必要

  11. 11

    ループ内でこの MATLAB コードを高速化する方法は?

  12. 12

    phpapi呼び出しの高速化

  13. 13

    Python関数の「for」ループを高速化する方法は?

  14. 14

    このPyMongoクエリ/ループを高速化する方法

  15. 15

    PHPでループ内の単一クエリを高速化する方法は?

  16. 16

    パラメータと戻り値の型のプライベート型を持つ高速呼び出しデリゲートを作成して、DynamicInvokeを高速化する方法

  17. 17

    Rで関数内のforループを高速化する

  18. 18

    JavaScriptでネイティブメソッドの呼び出しを高速化できますか?

  19. 19

    巨大なファイルのRでのループ実行プロセスを高速化する方法

  20. 20

    複数の呼び出しを高速化するために、実行時定数の値を関数ロケールの静的変数に格納することは良い/悪い習慣ですか?

  21. 21

    C#でforループを高速化する方法はありますか?

  22. 22

    AngularコンポーネントでAPI呼び出しをカプセル化する方法は?

  23. 23

    SPIを介してADSチップのサンプルレートを高速化する方法

  24. 24

    Pythonでこのループを高速化することは可能ですか?

  25. 25

    Pythonでネストされたforループを高速化する方法

  26. 26

    Python DataFrameでネストされたループを高速化する方法は?

  27. 27

    Rループを高速化する方法

  28. 28

    forループを高速化する方法は?

  29. 29

    MATLAB for ループを高速化する方法

ホットタグ

アーカイブ