난 그냥 웹 R에서 근근이 살아가고로 시작하고, 나는이 코드를 넣어. 내 문제는이 붉은 점들을 없애고 싶지만, 할 수 없다는 것이다. 저 좀 도와 주 시겠어요? 이 코드는 <b>
과 <br>
을 html 코드로 대체 한 것 같습니다. 더 쉽게 분석 할 수 있도록 그것을 다시 정의하는 가장 쉬운 방법 있도록 해당 페이지를 구축 누구든지웹 컨텐츠
웹 컨텐츠
답변
매우 실망스럽게도하는 <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
과 많은 문제가 아직 정리되지 않았지만이 시점에서 사용할 수 있습니다.
많은 youuuuu veryyy 고마워요! 너는 내 목숨을 구하고있다! 그것은 내가 필요한 것입니다. 나는 그 일을 없애기 위해 지금 일할 것입니다 NA 매우 감사합니다 muuuch – sanjanasan
당신은 항상
mps <- gsub("•", " ", mps)
Thak you @mkearney BUt 나는 그것을 시도했지만 작동하지 않았습니다. 포인트는 특별한, 그것은 단순한 문자에 관한 아니에요 ... – sanjanasan
감사합니다 @ mkearny! 하지만 여기서 문제는 포인트가 일반 문자와 다르다는 것입니다. 그들은 gsub로 제거 될 수 없다. – sanjanasan
방문 페이지 테이블을 포함, 예를 들면, 원하지 않는 문자를 제거하는 정규 표현식을 사용할 수 있습니다. 당신의 목적은 분명하지 않습니다. 당신은 그 테이블의 내용을 추출하고 R의 data.frame에 넣고 싶습니까? 아니면 페이지의 다른 내용에 관심이 있습니까? – SabDeM
@SabDeM 예 예 표 내용을 추출하고 싶습니다. 나는 그 텍스트를 추출했고, 단지 그 이상한 점들을 제거하여 데이터 프레임에 넣을 필요가 있습니다. – sanjanasan