RCurl
如果你使用過某些linux的發(fā)行版本,你一定會對一個東西有印象——cURL谅年。一款居家旅行必備的命令行瀏覽器茧痒。如果你沒使用過任何像是ubuntu的linux發(fā)行版,那么如果你使用的是android手機融蹂,下載個終端模擬器旺订,也能使用cURL(前提是預(yù)裝了busybox,一般都是預(yù)裝。)殿较。而RCurl就是把cURL與R結(jié)合起來了耸峭,讓你可以從網(wǎng)上面抓些東西。
要在R 中使用RCurl你需要安裝這個包淋纲,像這樣install.packages("RCurl&# 34;)劳闹。不過我在安裝的時候就出現(xiàn)了錯誤:
- installing source package ‘RCurl’ ...
** 成功將‘RCurl’程序包解包并MD5和檢查
checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’ - removing ‘/home/better/R/i686-pc-linux-gnu-library/3.2/RCurl’
我使用的是操作系統(tǒng)是ubuntu,這應(yīng)該是因為缺少依賴,使用 apt-get install 安裝了libcurl4-gnutls-dev的依賴就解決了本涕,不知道windows下會不會有這個問題业汰,請看貼子的自己試一下。
好菩颖,現(xiàn)在抓點東西看看样漆,首先加載使用剛剛安裝好的包:
library("RCurl")
然后如果你對http協(xié)議夠熟悉的化,我們寫一個http頭信息:
myHttpheader <- c(
"User-Agent&# 34;="Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) &# 34;,
"Accept&# 34;="text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8&# 34;,
"Accept-Language&# 34;="en-us&# 34;,
"Connection&# 34;="keep-alive&# 34;,
"Accept-Charset&# 34;="GB2312,utf-8;q=0.7,*;q=0.7&# 34;
)
然后我們使用getURL()函數(shù)來獲取網(wǎng)頁晦闰,這個是抓網(wǎng)頁的第一步:
xueqiupage<- getURL("http://xueqiu/&# 34;,httpheader=myHttpheader)
然后敲下xueqiupage看看抓到了什么:
好吧放祟,雖然比較凌亂,但我們抓到了雪球的網(wǎng)頁呻右,這個就是html文件的內(nèi)容跪妥,html文件和上文例子的xml文件沒什么區(qū)別。