1
Hastanelerin listesini, adreslerini ve telefon numaralarını Catholic Health Initiatives'dan kopyalamaya çalışıyorum.Web Scraping'i kullanarak R
# install.packages('rvest')
library('rvest')
htmlpage <- read_html("http://www.catholichealthinitiatives.org/landing.cfm?xyzpdqabc=0&id=39524&action=list")
chihtml <- html_nodes(htmlpage,".info , .address")
chi <- html_text(chihtml)
chi
library(stringr)
chi <- str_replace_all(chi, "[\r\n\t]" , "")
chi
ve bu başlık sonucudur:
kullanıyorum kodudur
[1] "CHI St. VincentTwo St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241"
[2] "Two St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241"
[3] "CHI St. Vincent Hot Springs300 Werner StreetHot Springs National Park, AR 71913P 501.622.1000"
[4] "300 Werner StreetHot Springs National Park, AR 71913P 501.622.1000"
[5] "CHI St. Vincent InfirmaryTwo St. Vincent CircleLittle Rock, AR 72205P 502.552.3000F 501.552.4241"
[6] "Two St. Vincent CircleLittle Rock, AR 72205P 502.552.3000F 501.552.4241"
Ben ana çizginin altında bulunan yinelenen adresi kaldırmak istiyoruz:
[1] "CHI EX: St. VincentTwo St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241"
## remove next line ##
[2] "Two St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241"
sen @alistaire ederiz! Ayrılmak için herhangi bir yolu var mı [1] "CHI St. VincentTwo St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241" virgül tarafından mı? Gibi: [1] "CHI St. Vincent, İki Aziz Vincent Cr., Little Rock, AR 72205P 501.552.3000, F 501.552.4241"? Maalesef, R için oldukça yeni ve işte bir yan proje yapmaya çalışıyorum. – Clayton
Bunu yapmanın en iyi yolu, satır sonlarının nerede olması gerektiğini söyleyen '\ n' (satırsonu) karakterleri kaldırmak değil, böylece 'strsplit (chi,' \ n + ')' olarak adlandırmak için Her bir adres için her biri bölünmüş bir öğe içeren liste. Eğer dağınıksa ('trim = FALSE'),' strsplit' aslında tüm boşluklarınızı temizleyebilir: 'strsplit (chi, '[\ n \ r \ t] +')' – alistaire
Bu hala telefonları ve faksları bölmez ve son adresler ekstra bir olsa da. Bunun için biraz daha ciddi regex'e ihtiyacınız olacak. – alistaire