网络抓取-代码适用于一个网站,但不适用于其他网站

时间:2019-03-08 11:57:56

标签: r web-scraping

我正在完成一个项目,尝试从零售网站上抓取地址/邮政编码。大多数网站要求您单击商店的链接以获取地址/邮政编码。对于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")时,它将返回商店链接的文本。

有人知道为什么会这样吗?

0 个答案:

没有答案