1
Ich versuche, die Liste der Krankenhäuser, ihre Adressen und ihre Telefonnummern von Catholic Health Initiatives zu kopieren.Web Scraping mit R
Der Code Ich verwende ist:
# 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
und das ist die Überschrift Ergebnis:
[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"
Ich möchte die duplizierten Adresse unter der Hauptleitung gefunden entfernen:
[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"
Vielen Dank @alistaire! Gibt es eine Möglichkeit, [1] "CHI St. VincentTwo St. Vincent Cr.Little Rock, AR 72205P 501.552.3000F 501.552.4241" durch Kommas zu trennen? Wie zum Beispiel: [1] "CHI St. Vincent, zwei St. Vincent Cr., Little Rock, AR 72205P 501.552.3000, F 501.552.4241"? Tut mir leid, ich bin ziemlich neu in R und versuche ein Nebenprojekt bei der Arbeit zu machen. – Clayton
Der beste Weg, dies zu tun, ist nicht die '\ n' (Newline) -Zeichen zu entfernen, die Ihnen sagen, wo Zeilenumbrüche sein sollten, also können Sie 'strsplit (chi, \ n + ')' aufrufen, um es in a aufzuteilen Liste mit einem Element für jede Adresse, von denen jede geteilt ist. Wenn es unordentlich ist ('trim = FALSE'), kann' strsplit' tatsächlich all Ihre Whitespace-Reinigung durchführen: 'strsplit (chi, '[\ n \ r \ t] +')' – alistaire
Das teilt immer noch keine Telefone, Faxe , und die letzte Zeile von Adressen mit einem Extra, obwohl. Dafür brauchst du etwas ernsthafteres Regex. – alistaire