0

我从网站上取消了一些产品的价格。在 Python 中,我使用 urllib2 没有问题,但是当我尝试在 RI 中使用 RCurl 时,无法下载源代码。

我必须将源代码与产品代码一起粘贴,然后我才能知道价格。产品的路径是:http://www.americanas.com.br/produto/code_of_product

实际上,我无法使用 RCurl 下载产品的源代码。当我尝试例如 getURL(' http://www.americanas.com.br/produto/111467594 ') 它返回“”。

我尝试使用 getURL('.../produtos/111467594') 并且可以下载源代码,但是这样我无法获得价格。:(

有谁知道我怎么能得到产品的价格?

谢谢。

Ps.:对不起我的英语不好。:)

4

1 回答 1

2

欢迎来到 StackOverflow。

对我来说很难说为什么它不起作用,你能verbose=TRUEgetURL? 另外,我注意到您链接的网页上有不同的价格。你想要全部还是第一个?如何获得“Por 价格”:

library("stringr")

productwebpage<-readLines("http://www.americanas.com.br/produto/111467594")
pricerow<-productwebpage[grep("p class=\"sale price\"",productwebpage)] 
price<-str_extract_all(pricerow,"\\(?[0-9,.]+\\)?")[[1]]

您也可以将 替换grep("p class=\"sale price\"",productwebpage)grep("<p><span class=\"regular price\">",productwebpage)(以获得“de price”/旧价格)或grep("<span class=\"p-v interest\">",productwebpage)(这将为您提供“sem jouros”价格/每月付款)。对于最后一个示例,您将首先获得月份和之后的付款,因此它将是:

> price
[1] "12"    "83,25"

希望这也适用于其他产品(刚刚尝试了 5 种,似乎对所有产品都有效)。

于 2013-02-17T17:11:46.783 回答