2017-05-07 8 views
3

난 그냥 웹 R에서 근근이 살아가고로 시작하고, 나는이 코드를 넣어. 내 문제는이 붉은 점들을 없애고 싶지만, 할 수 없다는 것이다. 저 좀 도와 주 시겠어요? 이 코드는 <b><br>을 html 코드로 대체 한 것 같습니다. 더 쉽게 분석 할 수 있도록 그것을 다시 정의하는 가장 쉬운 방법 있도록 해당 페이지를 구축 누구든지웹 컨텐츠

enter image description here

+0

방문 페이지 테이블을 포함, 예를 들면, 원하지 않는 문자를 제거하는 정규 표현식을 사용할 수 있습니다. 당신의 목적은 분명하지 않습니다. 당신은 그 테이블의 내용을 추출하고 R의 data.frame에 넣고 싶습니까? 아니면 페이지의 다른 내용에 관심이 있습니까? – SabDeM

+0

@SabDeM 예 예 표 내용을 추출하고 싶습니다. 나는 그 텍스트를 추출했고, 단지 그 이상한 점들을 제거하여 데이터 프레임에 넣을 필요가 있습니다. – sanjanasan

답변

1

매우 실망스럽게도하는 <table> 태그 자체로 정의 된 테이블 내에서 테이블을 조립,하지만 :

library(rvest) 

mps <- read_html("http://tunisie-annonce.com/AnnoncesImmobilier.asp") 

df <- mps %>% 
    html_nodes("tr.Entete1, tr.Tableau1") %>% # get correct rows 
    paste(collapse = '\n') %>%  # paste nodes back to a single string 
    paste('<table>', ., '</table>') %>%  # add enclosing table node 
    read_html() %>% # reread as HTML 
    html_node('table') %>% 
    html_table(fill = TRUE) %>% # parse as table 
    { setNames(.[-1,], make.names(.[1,], unique = TRUE)) } # grab names from first row 

head(df) 
#>   X   Région NA.   Nature NA..1  Type NA..2 
#> 2  Prix   <NA> NA    <NA> NA  <NA> NA 
#> 3 Modifiée     NA    <NA> NA  <NA> NA 
#> 4     Kelibia NA   Terrain NA Terrain nu NA 
#> 5   Cite El Ghazala NA   Location NA App. 4 pièc NA 
#> 6     Le Bardo NA   Location NA App. 1 pièc NA 
#> 7     Le Bardo NA Location vacance NA App. 3 pièc NA 
#>     Texte.annonce NA..3 Prix Prix.1  X.1 Modifiée 
#> 2       <NA> NA <NA> <NA>  <NA>  <NA> 
#> 3       <NA> NA <NA> <NA>  <NA>  <NA> 
#> 4  Terrain a 5 km de kelibi NA 80 000  07/05/2017   
#> 5  S plus 3 haut standing c NA 790  07/05/2017   
#> 6   Appartements meubles NA 40 000  07/05/2017   
#> 7 Un bel appartement au bardo m NA 420  07/05/2017   
#> Modifiée.1 NA..4 NA..5 
#> 2  <NA> NA NA 
#> 3  <NA> NA NA 
#> 4  <NA> NA NA 
#> 5  <NA> NA NA 
#> 6  <NA> NA NA 
#> 7  <NA> NA NA 

NA과 많은 문제가 아직 정리되지 않았지만이 시점에서 사용할 수 있습니다.

+0

많은 youuuuu veryyy 고마워요! 너는 내 목숨을 구하고있다! 그것은 내가 필요한 것입니다. 나는 그 일을 없애기 위해 지금 일할 것입니다 NA 매우 감사합니다 muuuch – sanjanasan

0

당신은 항상

mps <- gsub("•", " ", mps) 
+0

Thak you @mkearney BUt 나는 그것을 시도했지만 작동하지 않았습니다. 포인트는 특별한, 그것은 단순한 문자에 관한 아니에요 ... – sanjanasan

+0

감사합니다 @ mkearny! 하지만 여기서 문제는 포인트가 일반 문자와 다르다는 것입니다. 그들은 gsub로 제거 될 수 없다. – sanjanasan