2016-09-30 3 views
1

アラビア語の詩を含むテーブルを抽出しようとしています。あなたは...私はテーブルを解析しようとしたherexpathSApplyの同じコードを使用して複数のパスを検索しています

URL <- "http://www.adab.com/modules.php?name=Sh3er&doWhat=shqas&qid=65546&r=&rc=1" 
Data <- htmlTreeParse(URL, useInternalNodes = TRUE,encoding = "Windows-1256") 
Poem <- xpathSApply(Data,"//p[@class='poem']",xmlValue) 
Poem1 <- xpathSApply(Data,"//font[@class='poem']",xmlValue) 
Encoding(Poem) <- "UTF-8" 
Encoding(Poem1) <- "UTF-8" 

を詩を確認することができますが、私は詩がで書かれた順序を変更したため、それは良いではありません。

URLに記述されているコードを取得するために、このテーブルを取得する方法はありますか?

例えば:

Poem <- xpathSApply(Data,"//p[@class='poem']&//font[@class='poem']",xmlValue) 
+2

あなたは使用し、[XPath演算子](http://www.w3schools.com/xsl/xpath_operators.asp)(あなたはおそらく必要がある '|')可能性があり、または単にタグ、例えばのためのワイルドカードを使用します'" // * [@ class = 'poem'] "'。 – alistaire

+0

@alistaireありがとう、私はワイルドカードアプローチを使用しました。 、あなたは答えとしてそれを作ることができますか?2つのアプローチをしてください。 –

答えて

2

質問は「詩」のクラスに複数のタグをつかむために、適切なセレクタについて実際にあります。いくつかのオプションがあります。簡単なオプションは、XPathセレクタでタグ名にワイルドカード文字*を使用することです:あなたが唯一のクラス"poem"pfontタグをしたい場合は

Poem <- xpathSApply(Data,"//*[@class='poem']",xmlValue) 

ではなく、同じクラスのdivタグ言います、 |(または)演算子を使用して複数のオプションを選択できます。 rvestを使用する代わりにするXPathのもののCSSセレクタを使用する場合

library(rvest) 

Poem <- URL %>% read_html() %>% 
    html_nodes(xpath = '//p[@class="poem"] | //font[@class="poem"]') %>% 
    html_text(trim = TRUE) 

別のオプション:私は(同じセレクタがxpathSApplyで正常に動作しているかのようにも、)読み少し楽に見つけるrvestに翻訳。 CSSでは、クラスは.で指定されているので、ワイルドカードバージョンに必要なのは".poem"です。 pまたはfontタグに限定する場合は、"p.poem, font.poem"を使用してください。 Here's a fun tutorial on CSS selectors, if you like.

Poem <- URL %>% read_html() %>% 
    html_nodes(css = '.poem') %>% 
    html_text(trim = TRUE) 

head(Poem, 15) # I don't speak Arabic, so check that the results make sense 
## [1] "أقداح و أحلام"    "أنا لا أزال و في يدي قدحي" "ياليل أين تفرق الشرب"  
## [4] "ما زلت أشربها و أشربها" "حتى ترنح أفقك الرحب"  "الشرق عُفر بالضباب فما"  
## [7] "يبدو فأين سناك يا غرب؟" "ما للنجوم غرقن ، من سأم" "في ضوئهن و كادت الشهب ؟" 
## [10] "أنا لا أزال و في يدي قدحي" "ياليل أين تفرق الشرب ؟" "******"     
## [13] "الحان بالشهوات مصطخب"  "حتى يكاد بهن ينهار"  "و كأن مصاحبيه من ضرج" 
関連する問題