R: rvest extrahiert innerHTML

8

Mit rvest in R, um eine Webseite zu scrappen, möchte ich das Äquivalent von innerHTML von einem Knoten extrahieren , insbesondere um die Zeilen- bricht vor dem Anwenden von html_text in Zeilenumbrüche ein.

Beispiel für die gewünschte Funktionalität:

%Vor%

soll folgende Ausgabe erzeugen:

%Vor%

Mit rvest 0.2 kann dies durch toString.XMLNode

erreicht werden %Vor%

Mit dem neueren rvest 0.2.0.900 funktioniert das nicht mehr.

%Vor%

Die gewünschte Funktionalität ist allgemein in der Funktion write_xml des Pakets xml2 verfügbar, von der rvest jetzt abhängt - wenn nur write_xml seine Ausgabe einer Variablen geben könnte, statt darauf zu bestehen um in eine Datei zu schreiben. (auch ein textConnection wird nicht akzeptiert).

Als Workaround kann ich vorübergehend in eine Datei schreiben:

%Vor%

damit kann ich dann beispielsweise die Zeilenumbruch-Tags in Zeilenumbruchzeichen umwandeln:

%Vor%

Gibt es einen besseren Weg, dies mit existierenden Funktionen zu tun, z.B. rvest , xml2 , XML oder andere Pakete? Insbesondere möchte ich vermeiden, auf die Festplatte zu schreiben.

    
javrucebo 08.05.2015, 17:19
quelle

1 Antwort

0

Wie @r2evans angemerkt hat, ist as.character(doc) die Lösung.

In Bezug auf das letzte Code-Snippet, das den <br> -separierten Text aus dem Knoten extrahieren soll, während <br> in newline konvertiert wird, gibt es eine Problemumgehung in dem derzeit nicht aufgelösten Problem Nr. 175, Kommentar # 2 :

Die vereinfachte Version für dieses Problem:

%Vor%     
akraf 05.03.2018 15:52
quelle