四種發(fā)布、提取毅整、存儲(chǔ)網(wǎng)頁(yè)信息的方法

AutomatedDataCollectionwithR這本書的第一章趣兄,introduction。

Disseminating

HTML悼嫉、XML艇潭、JSON等

4tech.jpg

HTML是我們?cè)跒g覽網(wǎng)頁(yè)時(shí),用來(lái)組織網(wǎng)頁(yè)結(jié)構(gòu)的輕量型標(biāo)記語(yǔ)言戏蔑,比如texts, tables, lists, links等都可以被提取出來(lái):

#read_html和htmlParse功能一樣
library(rvest) # the new package, version 0.3.0
 # read_html() from the rvest package is the new htmlParse() from the XML package
#get table
tables <- html_table(heritage_parsed, fill = TRUE) # html_table() from the rvest package, which replaces readHTMLTable() from the XML package
#舉個(gè)栗子蹋凝,提取簡(jiǎn)書上一個(gè)網(wǎng)頁(yè)的table:
jianshu<- read_html("http://www.reibang.com/p/8a898b204285", encoding = "UTF-8")
tables <- html_table(jianshu,fill = TRUE)

Chiptable <- tables[[1]]

XML和HTML比較像,用于網(wǎng)絡(luò)數(shù)據(jù)傳輸总棵,但html主要是展示網(wǎng)頁(yè)鳍寂,而xml主要是存儲(chǔ)數(shù)據(jù)。html是為了展示出document情龄,而xml相當(dāng)于是一些包裹在tag(tag就是html里面對(duì)應(yīng)結(jié)構(gòu)組分的標(biāo)簽迄汛,比如table, title, links)里面的data。而且xml的tag更多樣骤视,相比html存儲(chǔ)網(wǎng)頁(yè)數(shù)據(jù)更靈活:

Thus, HTML documents are interpreted and transformed into pretty-looking output by browsers, whereas XML is “just” data wrapped in user-defined tags. The user-defined tags
make XML much more flexible for storing data than HTML.

另一個(gè)常見的數(shù)據(jù)存儲(chǔ)和交換的格式是JavaScript Object Notation鞍爱,簡(jiǎn)稱JSON。

Like XML, JSON is used by many web applications to provide data for web developers. Imagine both XML and JSON as standards that define containers for plain text data.

比如開發(fā)者想分析Twitter上的數(shù)據(jù)专酗,就從Twitter構(gòu)建的界面上獲取必要的數(shù)據(jù)睹逃,這些數(shù)據(jù)被Twitter以JSON的格式存儲(chǔ),從而可被開發(fā)者利用笼裳。XML和JSON都是應(yīng)用非常廣泛的數(shù)據(jù)傳輸格式唯卖,因?yàn)樗麄儗?duì)廣大編程語(yǔ)言包括R都兼容粱玲。

AJAX比較復(fù)雜躬柬,是創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)必須的,現(xiàn)代網(wǎng)頁(yè)應(yīng)用中廣泛抽减,和經(jīng)典的html以及xml的邏輯都不太一樣允青,對(duì)于爬蟲來(lái)說是個(gè)麻煩的東西

AJAX = 異步 JavaScript 和 XML。

AJAX 是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)卵沉。

通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換颠锉,AJAX 可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新法牲。這意味著可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新琼掠。

傳統(tǒng)的網(wǎng)頁(yè)(不使用 AJAX)如果需要更新內(nèi)容拒垃,必需重載整個(gè)網(wǎng)頁(yè)面。

有很多使用 AJAX 的應(yīng)用程序案例:新浪微博瓷蛙、Google 地圖悼瓮、開心網(wǎng)等等。

Plain text大家都知道艰猬,普通的文本文件横堡,無(wú)結(jié)構(gòu)的,只能被機(jī)器當(dāng)成相同的每一行冠桃,一行一行讀取命贴。但在各種html, xml, json格式里都十分常見。

Extraction

XPath query language食听,從標(biāo)記語(yǔ)言中提取特定信息的一門語(yǔ)言胸蛛,實(shí)現(xiàn)對(duì)數(shù)據(jù)的初步過濾,只留下我們想要的信息樱报。

JSON documents一般存儲(chǔ)更小胚泌,更容易被parse。不需要特定的query language肃弟,只需R的函數(shù)即可玷室。

Selenium:可以通過R的命令行實(shí)現(xiàn)對(duì)瀏覽器窗口的操作,比如鼠標(biāo)點(diǎn)擊笤受,鍵盤輸入等

正則表達(dá)式穷缤,在XPath不太好用時(shí),可以用于尋找一些離散的箩兽,隱藏的信息

Text mining:對(duì)text進(jìn)行分類津肛,包括明顯的和隱藏的語(yǔ)義,前者就是直接可見的信息汗贫,后者是讀者可以根據(jù)文檔內(nèi)容劃分成不同的主題身坐,比如政治,經(jīng)濟(jì)等落包,類似主題模型部蛇,不帶明顯的label。

Storage

談數(shù)據(jù)庫(kù)的重要性:

一方面是高效的數(shù)據(jù)管理咐蝇,和數(shù)據(jù)結(jié)構(gòu)組織

一方面是如果你需要對(duì)大量的涯鲁,分散的數(shù)據(jù)進(jìn)行重復(fù)操作和處理,搭建數(shù)據(jù)庫(kù)也是節(jié)約時(shí)間更快速的方法。

可以參考SQL

第二章介紹HTML

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抹腿,一起剝皮案震驚了整個(gè)濱河市岛请,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌警绩,老刑警劉巖崇败,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肩祥,居然都是意外死亡僚匆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門搭幻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)咧擂,“玉大人,你說我怎么就攤上這事檀蹋∷缮辏” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵俯逾,是天一觀的道長(zhǎng)贸桶。 經(jīng)常有香客問我,道長(zhǎng)桌肴,這世上最難降的妖魔是什么皇筛? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮坠七,結(jié)果婚禮上水醋,老公的妹妹穿的比我還像新娘。我一直安慰自己彪置,他們只是感情好拄踪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拳魁,像睡著了一般惶桐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上潘懊,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天姚糊,我揣著相機(jī)與錄音,去河邊找鬼授舟。 笑死救恨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岂却。 我是一名探鬼主播忿薇,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼裙椭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躏哩!你這毒婦竟也來(lái)了署浩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扫尺,失蹤者是張志新(化名)和其女友劉穎筋栋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體正驻,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弊攘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姑曙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片襟交。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖伤靠,靈堂內(nèi)的尸體忽然破棺而出捣域,到底是詐尸還是另有隱情,我是刑警寧澤宴合,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布焕梅,位于F島的核電站,受9級(jí)特大地震影響卦洽,放射性物質(zhì)發(fā)生泄漏贞言。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一阀蒂、第九天 我趴在偏房一處隱蔽的房頂上張望该窗。 院中可真熱鬧,春花似錦蚤霞、人聲如沸挪捕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)级零。三九已至,卻和暖如春滞乙,著一層夾襖步出監(jiān)牢的瞬間奏纪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工斩启, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留序调,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓兔簇,卻偏偏與公主長(zhǎng)得像发绢,于是被迫代替她去往敵國(guó)和親硬耍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355