我正在用500多个asins删除Amazon网页,这意味着500多个URL。我在每个asin进行刮擦之间使用sys.Sleep(6),而当R在asins编号为100进行刮擦时,使用sys.Sleep(300),但每次在同一个位置,asin 101都出现错误503。] >
我试图增加每100个被刮伤的asins的睡眠时间,但这是行不通的。 ¿可能有什么软件包可以帮助我,或者有一些指令可以帮助我吗?
我的代码是这样:
df<-NULL r=0 for(i in asin.list$V1) { print(i) url<-paste0("https://www.amazon.es/gp/offer-listing/",i,"/ref=dp_olp_new?ie=UTF8&condition=new") Sys.sleep(6) r=r+1 dades<-read_html(url) url<-(url) asin<-(i) rating<-dades %>% html_nodes("div span span a i span.a-icon-alt") %>% html_text() %>% trimws() opinions<-dades %>% html_nodes("span.a-size-small a.a-link-normal") %>% html_text() %>% trimws() if(length(rating)==0){ rating<-"-"} if(length(opinions)==0){ opinions<-"-"} info<-data.frame(asin=asin,rating=rating,opinions=opinions) df<-rbind(df,info) if (r %in% seq(100,1000,100) ){ Sys.sleep(300) } }
谢谢!
我正在用500多个asins删除Amazon网页,这意味着500多个URL。我在每个asin进行刮擦之间使用sys.Sleep(6),而当R在asins号为100进行刮擦时使用sys.Sleep(300),但我...
看来问题不在R代码中,而是在Amazon阻止您的呼叫中。一个好的做法是将暂停Sys.sleep(2 + rnorm(1))
和关闭连接随机化