我从网站上取消某些产品的价格。在Python中我使用urllib2没有问题,但是当我尝试在R中使用RCurl时,我无法下载源代码。
我必须将源代码粘贴到产品代码中,然后我就抓住了价格。产品的路径是:http://www.americanas.com.br/produto/code_of_product。
实际上,我无法使用RCurl下载产品的源代码。当我尝试例如getURL('http://www.americanas.com.br/produto/111467594')时,它返回“”。
我尝试使用getURL('... / produtos / 111467594')我可以下载源代码,但这样我就无法得到价格。 :(
任何人都知道我怎么能得到产品的价格?
感谢。
Ps。:抱歉我的英语不好。 :)
答案 0 :(得分:2)
欢迎来到StackOverflow。
很难说为什么它不起作用,你能在verbose=TRUE
中加入getURL
吗?另外,我注意到您链接的网页上有不同的价格。你想要全部还是仅仅是第一个?如何获得“Por price”:
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并且似乎适用于所有产品)。