我试图从一个网站的数据,列出多个产品的评级。那么,假设一个产品有800个品牌。因此,与10个品牌每页,我将需要从8页的数据。这是婴儿护理的数据。我需要价值24页的品牌- 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
我已经使用粗体字体1,因为这是唯一的东西,在这个网址,因为我们从一个页面移动到另一个页面。所以,我想在R中直接写一个循环,但是我发现当我移动到第2页时,页面就不会再加载了。相反,只需在大约5秒内更新结果。然而,R不等待5秒,因此,我从第一页的数据26次。
我还尝试直接输入第2页url,并在没有循环的情况下运行代码。同样的故事-我得到了第一页的结果。我相信我不是唯一一个面对这件事的人。任何帮助都是非常感谢的。我已经附上了密码。
谢谢你一百万。我希望我的问题足够清楚。
# 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)
}发布于 2014-06-11 03:52:58
参考html源,可以将您想要的urls简化为这个结构:
http://www.goodguide.com/products?category_id=152775-baby-care&page=2&sort_order=DESC.
R按预期检索这些urls的内容。
请注意,您还可以直接转到:
u <- sprintf('http://www.goodguide.com/products?category_id=152775-baby-care&page=%s&sort_order=DESC', n)
Parse <- htmlParse(u)https://stackoverflow.com/questions/24154014
复制相似问题