2017-09-17 67 views
1

我颳了很長的論壇主題,我想拿出有包含以下信息列的數據庫:日期/全文後文/報價用戶/引用文本/清潔文本清潔froum後在rvest多個報價+ stringr

乾淨的文字應該是每個用戶的帖子,沒有報價,如果他們回覆給任何人。如果該帖子不是回覆,我會將其保留爲不適用。下面是一個發明後,與發明了用戶,說明我已經設法到目前爲止做:

post<-"Meow1 wrote: »\noday is gonna be the day that they're gonna throw it back to you?\nBy now you should've somehow Realized what you gotta do\n\n\nI don't believe that anybody Feels the way I do, about you now\nMeow1 wrote: »\nI'm sure you've heard it all before But you never really had a doubt\n\n\nBecause maybe, you're gonna be the one that saves me\nMeow1 wrote: »\nAnd after all, you're my wonderwall\n\n\nAnd all the lights that lead us there are blinding" 

然後我試着拔出引用用戶(Meow1)和它的作品:

QuotedUser_1<-ifelse(grepl('wrote:', post), gsub('\\s*wrote.*$', '', post), NA) 
QuotedUser_1 
[1] "Meow1" 

然後,我創建了這個代碼拉出引用的文字和乾淨的文字:

Quotedtext_1<- ifelse(grepl('wrote:', post), gsub('^.*wrote\\s*|\\s*\\n\\n\\n.*$', '', post), NA) 

它的工作原理時,只有一個引用的文字,但除此之外,它只是給出了最新報價位(在本例, '一個ND畢竟you're我wonderwall') 而同爲乾淨的文字,它只返回最後回覆:

Clean_text<- sub('^.*\\n\\n\\n\\s*|\\s*wrote.*', '', post) 

如果任何人有一個建議,以改進代碼,這樣我可以有一個向量與所有的報價,並與所有回覆的載體,我將非常感激......

乾杯

回答

0

你肯定你不能單獨刮作者和文本信息?沒有源代碼很難知道,但我想他們可以通過不同的CSS選擇器獲得,使分割數據變得更加容易。 如果不是,它可能有助於尋找到str_locate_all它允許你找到的例如所有出現「寫道:」並相應地拆分字符串。

+0

你介意發佈您的解決方案?也許別人會在將來有類似的問題,並很高興能在這裏找到如何解決呢:) – TomS

+0

我知道,我會(儘管代碼可能讓大家哭,髒,因爲它是),我想保持材料被匿名刮掉,所以我需要重新創建頁面。我會在本週結束:) – Nuria

+0

非常感謝!一個貼近哭泣的解決方案總比沒有解決方案好 - 至少你有一個適當的開始改善 – TomS