使用Rvest中的rvest / httr设置cookie /提交表单:设置本地商店以进行网络抓取homedepot.com的问题

时间:2016-04-08 15:34:13

标签: r rvest httr

我正在设置一个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按钮可供选择。

1 个答案:

答案 0 :(得分:2)

关于你可能的选项&#34;我还考虑过在rvest中使用submit_form(),但选择商店的按钮是由javascript运行的,并且没有SUBMIT按钮可供选择&#34;,我发布了一个答案问题&#34; Submit form with no submit button in rvest&#34;这可能会为您提供此解决方案。

简而言之,您可以在您的代码版本中注入提交按钮,然后提交。有关如何操作的详细信息,请参见链接帖子。