[ノート]Rに基づくネットキャプチャとテキストマイニング――XXXXath

2401 ワード

XPTath:ウェブ検索言語
XPTathの最も正確な分類は特定のドメイン言語であり、その応用領域は比較的狭い。マーク言語ドキュメント(HTMLまたはXMLに類似)から情報を選択するための有用なツールである。
参考サイト:http://www.r-datacollection.com/materials/ch-4-xpath/fortunes/fortunes.html
解析ファイル
> library(XML)
> parsed_doc print(parsed_doc)


Collected R wisdoms

Robert Gentleman

'What we have is nice, but we need something very different'

Source: Statistical Computing 2003, Reisensburg

Rolf Turner

'R is wonderful, but it cannot work magic'
answering a request for automatic generation of 'data from a known mean and 95% CI'

Source: R-help

The book homepage
xpathSApply():この関数は、まずXXPS表現のノード全体を返します。第二に、必要があれば、一つの抽出関数をパラメータとして渡し、ノードの値、属性または属性値を取得することができる。
この2つのステップは、お互いに別々に行われてもよく、get NodeSet()を用いてXPSを適用し、その後、得られたノードセットを循環構造またはappy()シリーズ関数によって後処理し、情報を再構成することができる。
> xpathSApply(doc = parsed_doc,path = "/html/body/div/p/i")
パスと絶対パスを使用することができます。ワイルドカードも使えます。
複数のパスを指定するために、パイプライン「124」を使用しても良い。もう一つの方法はXPSクエリを一つのベクトルに保存し、このベクトルを一つのxpathSApplyに渡すことです。
ノード関係
node 1/relation:node 2   ノード間の関係を利用して、あるノードの一意の特性を見つける。
> xpathSApply(doc = parsed_doc,path = "//a/ancestor::div//i")
[[1]]
'R is wonderful, but it cannot work magic' 
XPS軸
軸は、現在のノードに対するノードセットを定義することができる。
軸の名前
結果
アンサー
現在のノードのすべての先輩(父、祖父など)を選択します。
ancestor-or-self
現在のノードのすべての先輩(父、祖父など)と現在のノードそのものを選択します。
atribute
現在のノードのすべての属性を選択します。
ちどり
現在のノードのすべてのサブ要素を選択します。
descendant
現在のノードのすべての子孫要素(子、孫など)を選択します。
descendant-or-self
現在のノードのすべての子孫要素(子、孫など)と現在のノード自体を選択します。
フォローウイング
ドキュメント内の現在のノードの終了ラベルの後にあるすべてのノードを選択します。
namespace
現在のノードの名前空間ノードをすべて選択します。
parent
現在のノードの親ノードを選択します。
preceding
ドキュメント内の現在のノードの開始ラベル前のすべてのノードを選択します。
preceding-sibling
現在のノードの前のすべての同級ノードを選択します。
self
現在のノードを選択します。
参考サイト:http://www.w3school.com.cn/xpath/xpath_axes.asp