我正在设置一个R脚本来从homedepot.com抓取数据。它很好,除了我想要刮掉产品的库存水平,这需要设置本地商店。我已经尝试了几种方法来使用rvest做到这一点但没有成功。如何在homedepot.com上设置本地商店? 我发现这些相关的问题没有让我找到解决方案: (R language ) How to make a click on webpage using rvest or rcurl
Submit form with no submit button in rvest
How to properly set cookies to get URL content using httr
更多信息: - 商店位置代码似乎存储在名为THD-LOC-STORE的cookie中,具有4位商店ID。我没有成功设置这个cookie:
library("rvest")
library("httr")
# try to set cookie in site with store ID:
session <- html_session("http://www.homedepot.com", set_cookies('THD-LOC-STORE'='2679'))
# if this worked, it would show the store name instead of "Select a Store":
storefinder <- session %>% read_html() %>% html_nodes(".headerStoreFinder") %>% html_text() %>% gsub("\\t","",.)
storefinder
cookies(session)
我还想过在rvest中使用submit_form()
,但是选择商店的按钮是通过javascript运行的,并且没有SUBMIT按钮可供选择。
答案 0 :(得分:2)
关于你可能的选项&#34;我还考虑过在rvest中使用submit_form(),但选择商店的按钮是由javascript运行的,并且没有SUBMIT按钮可供选择&#34;,我发布了一个答案问题&#34; Submit form with no submit button in rvest&#34;这可能会为您提供此解决方案。
简而言之,您可以在您的代码版本中注入提交按钮,然后提交。有关如何操作的详细信息,请参见链接帖子。