/ / R:スクレイピング時の時間間隔の導入 - r

R:スクレイピング時の時間間隔の導入 - r

私はいくつかのウェブサイトを"RSelenium"しかし、ウェブサイトが私の掻き取りの試みを検出したようです。各擦り傷の間にある程度の時間差を導入することは可能でしょうか。私のコードはこれです

Library("XML")
library("RSelenium")
checkForServer() # search for and download Selenium Server java binary.  Only need to run once.
startServer() # run Selenium Server binary
remDr <- remoteDriver(browserName="firefox", port=4444) # instantiate remote driver to connect to Selenium Server
remDr$open(silent=T) # open web browser

page_sub = read.csv("indigogo_edu_us.csv")

url_list = as.vector(page_sub$full_url[1:3])

scrape = function(url_list){

remDr$navigate(url_list) # navigates to webpage

elem <- remDr$findElement(using="class", value="i-description")
elemtxt <- elem$getElementAttribute("outerHTML")[[1]]
elemxml <- htmlTreeParse(elemtxt, useInternalNodes=T)

fundList <- unlist(xpathApply(elemxml, "//input[@title]", xmlGetAttr, "title")) # parses out just the fund name and ticker using XPath
page = as.data.frame(xpathSApply(  elemxml,"//div[@class="i-description"]", xmlValue, encoding="utf-8"))
names(page)[1] = "description"
}
cc = lapply(url_list, scrape)

回答:

回答№1は2

もちろん、 Sys.sleep。乱数ジェネレータを使用してランダムに表示することもできます。

行に沿った何か

Sys.sleep(runif(1, min = 3, max = 11))