2012-01-12 8 views
1

ここに厳しい時間があります。 http://www.cbioportal.org/public-portal/index.doR:サイトスクレーパーのアイデア

下部に向かって、 "例の遺伝子セットから選択"と表示してください。それらのセットのいずれかをクリックすると、その上に遺伝子のリストが表示されます。私は、リスト内のそれらの項目のそれぞれについて遺伝子をスクラップしたいが、そのリストはソースHTMLにはない。

アイデア?

ありがとうございます!

+0

ここにはRのコンテンツはありません。 –

答えて

3

ウェブページは実際にはJSONを使用してデータを取り出すので、rjsonですべてのデータを簡単に取り除くことができます。このコードはすべてのデータを読み込みます:

library(rjson) 
json=fromJSON(file='http://www.cbioportal.org/public-portal/portal_meta_data.json') 

user_genes = json$gene_sets[2:length(json$gene_sets)] # Remove first 'header' entry 
df = data.frame(do.call(rbind,user_genes)) 
row.names(df) = NULL # Strip off ugly row names 
+0

素晴らしい作品が素晴らしい! – JoshDG

+0

私はもう少しエレガントになるようにコードを修正しました。まだ動作します。 – nograpes

+0

HTMLテーブルでデータを抽出するには、JSONやCSVなどのコンピュータフレンドリな形式で提供されていない場合は、 'XML'パッケージの' readHTMLTable'関数を使用することもできます。 –

関連する問題