天天看點

第一個R爬蟲

參考部落格https://blog.csdn.net/wzgl__wh/article/details/72804687# 寫了我的

第一個R語言蟲

https://blog.csdn.net/u012485480/article/details/79883919 第一個R語言爬蟲

我們爬取的是2018年政府工作報告

首先需要載人的包有:xml2、rvest爬蟲、jiebaR用于分詞,統計詞頻、wordcloud2 用于對文本進行可視化。

1、用rvest包爬取網頁上的文章

library(rvest)
library(xml2)
url<-'http://www.gov.cn/zhuanti/2018lh/2018zfgzbg/zfgzbg.htm'
web<-read_html(url,encoding="utf-8") #讀取資料,規定編碼 
position<-web %>% html_nodes("div.event_box div p")%>%html_text()#read_html(url,encoding=”utf-8”)函數用來讀取網頁資料,存儲到web 中、html_text() 擷取标簽内的文本資訊
position    
           

輸出結果

第一個R爬蟲

2、jiebaR進行分詞,統計詞頻

# install.packages("jiebaRD")
# install.packages("jiebaR")  #之前沒有下載下傳相應包的先下載下傳包
library(jiebaRD)  #加載包
library(jiebaR) #加載包
engine_s<-worker(stop_word = "C:\\Users\\Dell\\Desktop\\R20180724\\stopwords.txt")#初始化分詞引擎并加載停用詞。  
seg<-segment(position,engine_s)#segment()分詞 
f<-freq(seg) #freq()統計詞頻
f<-f[order(f[],decreasing=TRUE),] #根據詞頻降序排列  
f
           

輸出結果

第一個R爬蟲

注釋

停用詞表來自于部落格https://blog.csdn.net/shijiebei2009/article/details/ 
在這裡注意的是文本檔案預設編碼為ASCII編碼,我們需要将文本另存為UTF-格式的編碼 
           

3、對文本進行可視化

install.packages("wordcloud2")
install.packages("yaml")
library(yaml)# 加載包
library(wordcloud2) #加載包  
f1<-f[:,]     #提取前100詞
wordcloud2(f1, size =  ,shape='star')    #形狀設定為星形
           

輸出結果(滑鼠放在詞上會顯示詞頻):

第一個R爬蟲

結果可見2018年政府工作報告重要的關鍵詞是“發展”,“改革”。