2015-06-07 245 views
2

我是初学者。网站刮图

我创建了一个小型代码,以网络抓取rvest。 我发现了一个非常方便的代码%>% html_node()%>% html_text()%>% as.numeric(),但我无法正确更改用于刮取图像url的代码。

我对图像的网页抓取URL代码:

UrlPage <- html ("http://eyeonhousing.org/2012/11/gdp-growth-in-the-third-quarter-improved-but-still-slow/") 

img <- UrlPage%>% html_node (". wp-image-5984")%>% html_attrs() 

结果:

class "Aligncenter size-full wp-image-5984" `enter code here`title "Blog gdp 2012_10_1" alt '" src "Http://eyeonhousing.files.wordpress.com/2012/11/blog-gdp-2012_10_1.jpg" height "337" width "450" 

问题。如何获得没有其他属性的唯一链接? (only)

请帮我找个解决办法。谢谢!

回答

5

您需要指定要提取哪个属性作为html_attr的参数。此外,你可能想让你的CSS选择器,html_node的参数更具体。这里是我的代码:

library(rvest) 

UrlPage <- html ("http://eyeonhousing.org/2012/11/gdp-growth-in-the-third-quarter-improved-but-still-slow/") 
ImgNode <- UrlPage %>% html_node("img.wp-image-5984") 
link <- html_attr(ImgNode, "src") 

链接变量现在包含URL。

你可以从这里找到CSS选择一个体面的参考: http://www.w3schools.com/cssref/css_selectors.asp

另外,rvest文件对如何使用某些功能的好例子: http://cran.r-project.org/web/packages/rvest/rvest.pdf

+0

re .:“链接变量现在包含URL”。现在如何将图像本身下载到硬盘上的文件或保存到R变量中 – hackR

0

klib是正确的。只是更新HTML(已弃用)为read_html并添加了下载命令。

library(rvest)  

myurl <- read_html ("http://eyeonhousing.org/2012/11/gdp-growth-in-the-third-quarter-improved-but-still-slow/") 
mynode <- myurl %>% html_node("img.wp-image-5984") 
link <- html_attr(mynode, "src") 
download.file(url = link,destfile = "test.jpg")