使用rvest爬蟲包獲取數據


爬蟲簡單來說就是利用Html、css等前端規範形式,模擬人工手動蒐集數據的方式獲取數據。

R語言爬蟲包Rvest,能夠非常方便的爬取一些簡單的網頁。

Rvest包

安裝

install.packages('rvest')

常用功能

函數 描述
read_html() 下載網頁
html_nodes() 獲得指定名稱的網頁元素、節點
html_text() 獲得指定名稱的網頁元素、節點文本
html_table() 獲取table標籤中的表格,默認參數trim=T,header=T爲包含表頭。結果返回數據框

基本步驟

  • 爬取整張網頁
  • 查找所需內容處在節點
  • 爬取相關內容

簡單實例

  • 使用谷歌瀏覽器
  • 在谷歌商店搜索安裝SelectorGadget插件,這個插件方便快速找出節點。
  • SelectorGadget使用
    • 安裝之後點擊瀏覽器右上角插件。
    • 選中需要爬取的內容,右鍵檢查。
  • 記錄節點位置。
    SelectorGadget.png
    使用.png

節點.png

在新浪地產網爬取房地產土地資訊內容(僅出於學習目的)

網站地址http://youcaiyun.com/News/5

#載入rvest包
library(rvest)
#網站地址url
url <- 'http://youcaiyun.com/News/5'
#使用read_html()獲取網頁
cont <- read_html(url)
#使用html_nodes()解析網頁
#由SelectorGadget環節可知
#標題在.desc h1節點,內容在.desc p節點
title <- html_nodes(cont,'.desc h1')
text <- html_nodes(cont,'.desc p')
#使用html_text()提取內容
tit <- html_text(title)
txt <- html_text(text)
#可以看到內容存在換行符號及大量空白
#使用stringr包去除空白
library(stringr)
tit <- str_trim(tit)
txt <- str_trim(txt)
#儲存數據
data <- data.frame(tit,txt)
View(data)

view(data).png


RR語言小白速通
R懂點R語言
歡迎分享收藏關注

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章