여러 제품의 등급을 나열하는 웹 사이트의 데이터를 스크랩하려고합니다. 따라서 제품에 800 개의 브랜드가 있다고 가정 해 보겠습니다. 따라서 페이지 당 10 개의 브랜드로 8 페이지의 데이터를 스크랩해야합니다. 예 : 다음은 유아 관리 데이터입니다. 내가 필요로 브랜드 가치가 24 페이지가 있습니다 - http://www.goodguide.com/products?category_id=152775-baby-care&sort_order=DESC#!rf%3D%26rf%3D%26rf%3D%26cat%3D152775%26page%3D1퍼센트 26filter %의 3D는 % 26sort_by_type % 3Drating % 26sort_order % 3DDESC % 26meta_ontology_node_id % 3D연속 URL에서 웹 스크 레이 핑하기 R
그 유일한이기 때문에 나는 1의 굵은 글꼴을 사용했다 페이지마다 이동하면서이 URL이 변경됩니다. 그래서 저는 R에 루프를 작성하는 것이 간단 할 것이라고 생각했습니다.하지만 제가 발견 한 것은 2 페이지로 이동하면 페이지가 다시로드되지 않는다는 것입니다. 대신, 결과는 약 5 초 만에 업데이트됩니다. 그러나 R은 5 초 동안 기다리지 않으므로 첫 페이지에서 26 번 데이터를 받았습니다.
또한 2 페이지 URL을 직접 입력 해보고 루프없이 코드를 실행했습니다. 같은 이야기 - 1 페이지 결과가 있습니다. 나는이 문제에 직면하는 유일한 사람이 될 수 없다고 확신한다. 어떤 도움을 주셔서 감사합니다. 코드를 첨부했습니다.
감사합니다. 그리고 제 질문이 충분히 분명하기를 바랍니다. HTML 소스를 참조
# build the URL
N<-matrix(NA,26,15)
R<-matrix(NA,26,60)
for(n in 1:26){
url <- paste("http://www.goodguide.com/products?category_id=152775-baby-care&sort_order=DESC#!rf%3D%26rf%3D%26rf%3D%26cat%3D152775%26page%3D",i,"%26filter%3D%26sort_by_type%3Drating%26sort_order%3DDESC%26meta_ontology_node_id%3D")
raw.data <-readLines(url)
Parse <- htmlParse(raw.data)
#####
A<-querySelector(Parse, "div.results-container")
#####
Name<-querySelectorAll(A,"div.reviews>a")
Ratings<-querySelectorAll(A,"div.value")
N[n,]<-sapply(Name,function(x)xmlGetAttr(x,"href"))
R[n,]<-sapply(Ratings,xmlValue)
}
당신은 항상 [Sys.sleep] 할 수있는 (http://stat.ethz.ch/R-manual/R-devel/library/ base/html/Sys.sleep.html)을 호출합니다. 그것이 내가 Qualys Labs의 [SSL Tester] (http://datadrivensecurity.info/blog/posts/2014/Apr/scraping-ssl-server-test-results-with-r/)에서 데이터를 수집하기 위해 한 일입니다. – hrbrmstr
반복자가'n'이지만, URL을 만들 때'i'를 붙여 넣는 것입니다. – jbaums
감사합니다 jbaums, 그것을 고쳤고 여전히 작동하지 않습니다 : ( – Snickers