gpt4 book ai didi

r - R Rvest for()和错误服务器错误: (503) Service Unavailable

转载 作者:行者123 更新时间:2023-12-03 08:12:54 26 4
gpt4 key购买 nike

我是网络爬虫的新手,但是我很高兴在R中使用rvest
我试图用它来抓取公司的特定数据。
我创建了一个for循环(171个网址),当我运行它时,它在第6个或第7个网址上停止并出现错误

Error in parse.response(r, parser, encoding = encoding) : 
server error: (503) Service Unavailable

当我从第7个网址开始循环时,它又出现了两三个,然后又因相同的错误而停止。
我的循环
library(rvest)    
thing<-c("http://www.informazione-aziende.it/Azienda_ LA-VIS-S-C-A",
"http://www.informazione-aziende.it/Azienda_ L-ANGOLO-DEL-DOLCE-DI-OBEROSLER-MARCO",
"http://www.informazione-aziende.it/Azienda_ MARCHI-LAURA",
"http://www.informazione-aziende.it/Azienda_ LAVIS-PIZZA-DI-GASPARETTO-MATTEO",
"http://www.informazione-aziende.it/Azienda_ LE-DELIZIE-MOCHENE-DI-OSLER-NICOLA",
"http://www.informazione-aziende.it/Azienda_ LE-DELIZIE-S-N-C-DI-GAMBONI-PIETRO-E-PISONI-MAURO-C-IN-SIGLA-LE-DELIZIE-S-N-C",
"http://www.informazione-aziende.it/Azienda_ LE-FONTI-DISTILLATI-DI-COVI-MARCELLO",
"http://www.informazione-aziende.it/Azienda_ LE-MIGOLE-DI-MATTEOTTI-LUCA",
"http://www.informazione-aziende.it/Azienda_ LECHTHALER-DI-TOGN-LUIGI-E-C-S-N-C",
"http://www.informazione-aziende.it/Azienda_ LETRARI-AZ-AGRICOLA")

thing<-gsub(" ", "", thing)

d <- matrix(nrow=10, ncol=4)
colnames(d)<-c("RAGIONE SOCIALE",'ATTIVITA', 'INDIRIZZO', 'CAP')

for(i in 1:10) {
a<-thing[i]

urls<-html(a)

d[i,2] <- try({ urls %>% html_node(".span") %>% html_text() }, silent=TRUE)
}

也许有一种避免这种错误的方法,在此先感谢您,任何帮助将不胜感激。

UPD
在下一个代码中,我正在尝试使用 repeat()从最后一个成功的代码重新开始获取数据的循环,但是它无限循环,希望有一些建议。
    for(i in 1:10) {

a<-thing[i]

try({d[i,2]<- try({html(a) }, silent=TRUE) %>%
html_node(".span") %>%
html_text() }, silent=TRUE)

repeat {try({d[i,2]<- try({html(a) }, silent=TRUE) %>%
html_node(".span") %>%
html_text() }, silent=TRUE)}
if (!is.na(d[i,2])) break
}

或使用 while()
for(i in 1:10) {

a<-thing[i]

while (is.na(d[i,2])) {
try({d[i,2]<-try({html(a) %>%html_node(".span")},silent=TRUE) %>% html_text() },silent=TRUE)
}
}
While()有效,但效果不是很好,而且速度太慢((

最佳答案

如果您访问该网站的速度过快,则可能会得到503。添加一个Sys.sleep(2),所有10次迭代对我来说都是有效的...

library(rvest)    
thing<-c("http://www.informazione-aziende.it/Azienda_ LA-VIS-S-C-A",
"http://www.informazione-aziende.it/Azienda_ L-ANGOLO-DEL-DOLCE-DI-OBEROSLER-MARCO",
"http://www.informazione-aziende.it/Azienda_ MARCHI-LAURA",
"http://www.informazione-aziende.it/Azienda_ LAVIS-PIZZA-DI-GASPARETTO-MATTEO",
"http://www.informazione-aziende.it/Azienda_ LE-DELIZIE-MOCHENE-DI-OSLER-NICOLA",
"http://www.informazione-aziende.it/Azienda_ LE-DELIZIE-S-N-C-DI-GAMBONI-PIETRO-E-PISONI-MAURO-C-IN-SIGLA-LE-DELIZIE-S-N-C",
"http://www.informazione-aziende.it/Azienda_ LE-FONTI-DISTILLATI-DI-COVI-MARCELLO",
"http://www.informazione-aziende.it/Azienda_ LE-MIGOLE-DI-MATTEOTTI-LUCA",
"http://www.informazione-aziende.it/Azienda_ LECHTHALER-DI-TOGN-LUIGI-E-C-S-N-C",
"http://www.informazione-aziende.it/Azienda_ LETRARI-AZ-AGRICOLA")

thing<-gsub(" ", "", thing)

d <- matrix(nrow=10, ncol=4)
colnames(d)<-c("RAGIONE SOCIALE",'ATTIVITA', 'INDIRIZZO', 'CAP')

for(i in 1:10) {
print(i)
a<-thing[i]
urls<-html(a)
d[i,2] <- try({ urls %>% html_node(".span") %>% html_text() }, silent=TRUE)
Sys.sleep(2)
}

关于r - R Rvest for()和错误服务器错误: (503) Service Unavailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29929363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com