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
Mit dem neueren rvest 0.2.0.900
funktioniert das nicht mehr.
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.
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%Tags und Links r innerhtml web-scraping rvest tostring