Da ist es möglich, eine Kopie Ihres Facebook-Datenarchivs herunterzuladen, und es bietet HTML-Dateien von jedem einzelnen Chat, den Sie haben. Ich würde gerne in der Lage sein, das in einen Datenrahmen für die weitere Analyse zu bringen.Scraping Facebook Nachrichten von HTML-Dateien mit RWE
Ein Beispiel für eine der Dateien wie folgt aussieht:
und ich habe ein Beispiel für die HTML-Datei hier hochgeladen: https://gist.githubusercontent.com/eldenvo/182efcd870f74d715b202f3ccdae335e/raw/1b53610459790489efb43ab6caa0f15103d391a1/facebook-message.html
Mein Ideal wäre es, die Daten in einen Datenrahmen zu bekommen, die Spalten: Absender, Nachricht, Zeit.
So
library(rvest)
doc <- "https://gist.githubusercontent.com/eldenvo/182efcd870f74d715b202f3ccdae335e/raw/1b53610459790489efb43ab6caa0f15103d391a1/facebook-message.html"
doc %>% read_html()
kehrt
#> {xml_document}
#> <html>
#> [1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n<base href="../">\n<style type="text/c ...
#> [2] <body>\n<a href="html/messages.htm">Back</a><br><br><div class="thread">Conversation with p1, p2<div class="message ..
Und mit dem Auswahlwerkzeug in Chrome, etwas zu versuchen und extrahieren mit mehr:
doc %>% read_html() %>% html_node(xpath = '/html/body/div/div[1]')
#> {xml_node}
#> <div class="message">
#> [1] <div class="message_header">\n<span class="user">p1</span><span class="meta">Monday, 19 March 2012 at 23:29 UTC</sp ...
oder
doc %>% read_html() %>% html_node(xpath = '/html/body/div/p/text()') %>% html_text()
#> [1] "I didn't see your message before, i'm sorry that i didn't answer. Next time i promise !!"
Ich bin nicht sehr vertraut mit html
oder rvest
so bin ich mir nicht sicher über den besten Weg, um die vollständige Liste der Nachrichten und zugehörigen Informationen in eine data.frame
zu extrahieren. https://blog.rstudio.com/2014/11/24/rvest-easy-web-scraping-with-r/
Vor allem der Hinweis für http://selectorgadget.com, das macht es zu extrahieren viel einfacher zu entsprechenden Tags zu finden.