R語言爬蟲例項分析 以廣西人才網為例

2021-10-06 18:33:12 字數 3041 閱讀 6342

在生活中,我們常常需要瀏覽一些**,並將自己喜歡的資料(ctrl+c)儲存下來,可當我們想儲存很多資料的時候呢??我們還需要乙個乙個的(ctrl+c)儲存下來嗎?what should i do?

答案當然不是!!so,筆者將在以下的r語言爬取網頁的資料中,向你一一訴說!(若有不對,還望python大佬們指正,輕噴,謝謝!)

知道這些東西之後,我們開始了解網頁,複製兩三頁**,觀察其中的不同(找不同哦)

通過觀察

我們發現在page=? 就可以找到了不同網頁的大致規律啦!

知道了這些東西也還不夠哦!

我們再了解一些東西!!!網頁節點!(這是重點,記筆記!)

我們開啟上面的**,按下f12鍵,開啟網頁控制台

如圖

![在這裡插入描述](對於小白而言,我們不應該太過於深入,只需知道筆者所說的這幾點就可以了!我們以計算機方面的職業為例!

一般來說 class=「 」 , 「 」裡的東西就是我們想要的節點,加上 . 就是代表所有同樣的節點!

因此我們可以通過rstudio編寫以下**,截取出資料

###載入以下四個包

library(xml2) ### 讀取網頁的包

library(rvest) ### 爬取網頁的包

library(dplyr) ### 資料分析

library(stringr) ### 字串處理包

web =

read_html(paste0(「 = 「utf-8」,stringsasfactors = false)

employ_job_name_inf = web %>%

html_nodes(".posname") %>%

html_text() ############### %>% 可理解為管道

# 先連線web,再將()裡的節點的內容傳送到 html_text中

我們檢視employ_job_name_inf 得出:

基於此,我們可以獲取崗位的名稱,招聘發布的時間,職位的介紹等等!由於筆者比較懶用手一頁一頁的匯入儲存資料,所以筆者編出了以下的for迴圈,讀取資料,並將資料通過write.csv()儲存下來。

##(別忘了載入相關包包哦)

employ_basic_inf = data.frame() ### 建立大量資料框 便於後繼的資料匯入

####讀取100頁資料

for (i in 1:100) {

匯入招聘資訊的** (廣西人才網)

web =

read_html(paste0(「 = 「utf-8」,stringsasfactors = false)

employ_job_name_inf = web %>%

html_nodes(".posname") %>%

html_text() ############### %>% 可理解為管道

employ_salary_inf = web %>%

html_nodes(".w3") %>%

html_text()

employ_salary_inf =

str_replace_all(employ_salary_inf," 「,」")

employ_salary_inf

employ_salary_inf

employ_salary_inf=employ_salary_inf[-c(1,2),]

employ_salary_inf = as.character(employ_salary_inf)

employ_address_inf = web %>%

html_nodes(".w4") %>%

html_text()

employ_address_inf=data.frame(employ_address_inf)

employ_address_inf=employ_address_inf[-c(1,2),]

employ_address_inf = as.character(employ_address_inf)

employ_edu_inf = web %>%

html_nodes(".qitaul") %>%

html_text()

employ_edu_inf =

str_replace_all(employ_edu_inf," 「,」")

employ_edu_inf = gsub("\r\n"," ",employ_edu_inf)

employ_time_inf = web %>%

html_nodes(".w5") %>%

html_text()

employ_time_inf = data.frame(employ_time_inf)

employ_time_inf = employ_time_inf[-c(1:10),]

employ_time_inf = as.character(employ_time_inf)

employ_describe_inf = web %>%

html_nodes(".posinfo") %>%

html_text()

刪掉大量的空格

employ_describe_inf =

str_replace_all(employ_describe_inf," 「,」")

通過gsub刪掉軟回車(\n)、軟空格(\r)、製表符(\t)

R語言關聯分析

說明 在進行關聯規則挖掘前,我們需要首先將資料轉換成事務資料。討論三種常用資料集,包括鍊錶,矩陣,資料框架。然後將它們轉化成事務資料。操作匯入arulesm建立乙個包括三個向量的鍊錶,以存放購買記錄 c bread cake milk names tr list paste tr c 1 3 sep...

r語言聚類分析 R語言實現tSNE聚類分析

t sne t distributed stochastic neighborembedding 是用於降維的一種無監督機器學習演算法,由 laurens van der maaten 和 geoffrey hinton在08年提出。t sne 作為一種非線性降維演算法,非常適用於高維資料降維到2維...

R 語言爬蟲 rvest 包實戰鏈家爬蟲

rvest包簡介 rvest包是hadley wickham大神開發的乙個專門用於網路資料抓取的r語言包,目前的發行版本為0.3.2,關於rvest包的描述以及用法可參考rvest幫助文件,花上一點時間閱讀幫助文件,相信你就可以寫出自己的爬蟲了。help package rvest rvest幫助文...