Я получаю сообщение об ошибке в названии выше при запуске кода ниже:
library(dplyr)
library(RCurl)
library(rjson)
library(urltools)
library(stringr)
library(selectr)
### API SEMRUSH
keyAPI <- "enter API key here"
country <- "be"
# limit : nb query
# nbresult : nb results per query
limit <- 400
nbresult <- 100
# KW list input filepath
kwlist_filepath <- "c:/Users/click/Desktop/data seo labs/SemRush export/kwlist.csv"
kwlist <- read.csv(file = kwlist_filepath, header = TRUE) %>%
rename(Keyword = ï..Keyword)
semrushGetTop100organic <- function(keyword,country,limit) {
keywordUrl <- url_encode(keyword)
url <- paste("http://api.semrush.com/?type=phrase_organic&key=",keyAPI,"&display_limit=",limit,
"&export_columns=Dn,Ur&phrase=",keywordUrl,"&database=",country,sep="")
# generate new file csv
print("generating file from api semrush")
filename <- tempfile()
f <- CFILE(filename, "wb")
curlPerform(url = url
, writedata = f@ref
, encoding = "UTF-8"
#, verbose = TRUE
)
close(f)
result <- read.csv( filename, header = TRUE, sep=";", encoding = "UFT-8", stringsAsFactors=FALSE) %>%
mutate(Keyword=keyword)
result$Position <- seq.int(nrow(result))
result$isTopTen <- FALSE
result$isTopTen[which(result$Position<=10)] <- TRUE
return(result)
}
count(kwlist)
for(i in 1:count(kwlist)$n){
keyword <- kwlist$Keyword[i]
print(keyword)
if (i==1){
top100rankingForkwlist <- semrushGetTop100organic(keyword,country,nbresult)
}
else {
top100rankingForkwlist <- rbind(top100rankingForkwlist,semrushGetTop100organic(keyword,country,nbresult))
}
}
urllist <- distinct(data.frame(top100rankingForkwlist$Url)) %>%
transmute(Url = top100rankingForkwlist.Url)
При запуске его в CSV-файле с небольшим количеством ключевых слов, это, кажется, работает нормально, но когда количество ключевых слов растет, эта ошибка возникает. Я не смог точно определить, связано ли это с количеством ключевых слов или с чем-то еще (как я видел сценарий от go до 10 ключевых слов до выдачи ошибки, но также до 23 до выдачи ошибки ... )
Если вам необходим ключ API для диагностики проблемы, отправьте мне сообщение в личку.
Спасибо! С уважением,