Опитвам се да използвам някои уебсайтове"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)
Отговори:
2 за отговор № 1Разбира се, Sys.sleep
, Можете също да използвате генератор на случайни числа, за да изглежда случайно.
Нещо в духа на
Sys.sleep(runif(1, min = 3, max = 11))