r - 网页抓取 - 代码适用于一个站点但不适用于另一个站点
问题描述
我正在完成一个项目,试图从零售网站上刮下地址/邮政编码。大多数网站要求您单击商店的链接以获取地址/邮政编码。对于 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 值。我肯定使用了正确的类(使用 selectorgadget 检查),当我使用 html_text("href")
它时,它会返回商店链接的文本。
有谁知道为什么会这样?
解决方案
推荐阅读
- javascript - 在 React Redux 应用程序中使用 AbortController 中止的请求将永远中止
- xml - 在 Element 不存在时处理 SOAP XML
- java - 为什么这种带有 sql 更新查询的方法不能很好地工作?
- c# - AspNetCore SignalR 连接握手失败
- ansible - 在主机上运行命令和最后的标准输出总和
- html - 基于百分比的 SCSS 停止关键帧 SVG 圆形动画
- python - 如何将具有多个行标题的excel数据插入熊猫数据框中
- nativescript - Javascript Date 实例返回错误的日期
- javascript - 有人可以帮我解决我的按钮功能吗?
- javascript - javascript,类,承诺,如何访问 then 范围内的外部变量