【发布时间】:2018-06-25 17:47:39
【问题描述】:
我的目标:使用 R,从 homedepot 抓取所有灯泡型号和价格。 我的问题:我找不到所有灯泡页面的 URL。我可以抓取一页,但我需要找到一种获取 URL 的方法,以便将它们全部抓取。
理想情况下,我想要这些页面 https://www.homedepot.com/p/TOGGLED-48-in-T8-16-Watt-Cool-White-Linear-LED-Tube-Light-Bulb-A416-40210/205935901
但即使获得这样的列表页面也可以 https://www.homedepot.com/b/Lighting-Light-Bulbs/N-5yc1vZbmbu
我尝试了爬虫 -> 在 homedepot 上不起作用(可能是因为 https?)我试图获取特定页面 我尝试了 Rvest -> 我尝试使用 html_form 和 set_values 将灯泡放在搜索框中,但表单又回来了
[[1]]
<form> 'headerSearchForm' (GET )
<input hidden> '': 21
<input text> '':
<button > '<unnamed>
并且 set_value 将不起作用,因为 is '' 所以错误又回来了 错误:尝试使用长度为零的变量名。
我也尝试使用粘贴功能和 lapply
tmp <- lapply(0:696, function(page) {
url <- paste0("https://www.homedepot.com/b/Lighting-Light-Bulbs/N-
5yc1vZbmbu?Nao=", page, "4&Ns=None")
page <- read_html(url)
html_table(html_nodes(page, "table"))[[1]]
})
我收到错误:html_table(html_nodes(page,"table"))[[1]] 中的错误:脚本越界。
我真的很茫然,任何建议或提示都会非常棒。
【问题讨论】:
标签: r url web-scraping rvest