我正在完成一个项目,尝试从零售网站上抓取地址/邮政编码。大多数网站要求您单击商店的链接以获取地址/邮政编码。对于Argos,我编写了以下代码:
argos<-read_html("https://www.argos.co.uk/stores/?
clickOrigin=header:storelocator:stores#storeslist")
storelist<-argos %>%
html_nodes(".azsl-link")%>%
html_attr("href")
storelist<-data.frame(storelist)
storelist
这给出了到Argos商店的所有链接的完整列表。然后,我编写了此函数以将地址数据提取到列表中:
x<-c(1:nrow(storelist))
for (i in 1:nrow(storelist)){
argos<-read_html(paste0("https://www.argos.co.uk",storelist[i,]))
address<-argos%>%
html_nodes(".store-info")
html_text("postalCode")
x[i]<-address
}
然后将其输出到csv。当我尝试为Halfords网站重新创建这些步骤时,我遇到的问题是html_attr("href")
返回NA值。我肯定使用的是正确的类(已通过选择器小工具检查),当我使用html_text("href")
时,它将返回商店链接的文本。
有人知道为什么会这样吗?