【发布时间】:2018-02-08 13:50:36
【问题描述】:
我正在使用“rvest”进行网页抓取,但我无法从页面中提取模型的价格:- https://www.motorola.com/us/products/moto-z-force-droid-edition .我需要从页面中提取“$720.00”。我的代码是:-
library(rvest)
data<-read_html("https://www.motorola.com/us/products/moto-z-force-droid-edition")
price<-data%>%
html_nodes(".price-amount")%>%
html_text()
print(price)
我不断得到字符(0)的价格。
请帮忙。
【问题讨论】:
-
该站点使用 javascript 呈现页面(并将价格插入页面)。要查看 rvest 下载做什么
download.file("<yoururl>", "output.html")并在编辑器中查看output.html。你会看到价格不见了;有一些占位符<span>s 填满了价格。为了抓取这样的网站,您必须使用无头浏览器,例如 PhantomJS。也许r-bloggers.com/web-scraping-javascript-rendered-sites 有用。 -
谢谢。你能举个例子吗?
-
我对 PhantomJS 没有任何经验,所以我无法帮助你(这也是我没有写答案的原因)。对不起。
-
没问题。谢谢。
-
搜索一些关于使用
RSelenium的教程,这是phantomJS(和其他浏览器)的一种可能接口。