2012-01-12 2 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' 함수를 사용할 수도 있습니다. –