2015-06-07 520 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")