我已經以文本形式保存了網頁網頁(作為 .txt 檔案),其中有很多。這些是來自社交媒體網站的公開個人資料頁面。我想粗略衡量一下這些個人資料頁面上有多少東西。當我將這些文本檔案保存為 .html,然后在瀏覽器中打開它們時,我可以看到顯示的組態檔。但是文本檔案并不能很好地表明個人資料頁面上的內容是如何開發的。如果我對此進行字符計數,則它與可查看組態檔的開發方式完全不相關(因此我了解到 html 檔案不是您查看檔案時顯示內容的好代理,因為有很多文本不會在瀏覽器視窗中呈現)。
從 r 到從 .html 檔案中提取的典型決議函式似乎洗掉了很多內容 - 我認為這些組態檔頁面的結構不是很好。
我可以在 R 中的 chrome 等應用程式中打開這些檔案。但是有沒有辦法(以編程方式從 R 中)將 Chrome 中呈現的文本剪切/粘貼到另一個檔案中,作為測量這些組態檔中出現的文本的一種方式?我想從 R 創建一些自動化的東西,然后回圈它。
我將在此處放置示例檔案(輸入和輸出)的保管箱鏈接 -> https://www.dropbox.com/sh/4fqxwbj74tnfaxq/AACtexD7OVYYrMoTDrudbacba?dl=0。在檔案“test2_simple_pagecode.txt”中,包含示例組態檔的頁面源代碼。可以將其更改為 .html 擴展名,然后在瀏覽器中打開并查看頁面。我想要做的是在瀏覽器視窗中打開該檔案,然后將整個頁面的文本剪切并粘貼到一個單獨的檔案中,如“test2_simple_cutpaste.txt”中的示例。這樣,新檔案只包含在組態檔中實際看到的單詞。
uj5u.com熱心網友回復:
此頁面嚴重依賴 javascript 來呈現頁面。我建議查看 rselenium 來處理頁面。RSelenium 將能夠處理 javascript,您將能夠使用“rvest”包來提取感興趣的資訊。
這是一種非常快速且非常骯臟的方法來提取存盤在個人資料中的資訊,但那里也存盤了大量無關資訊。
似乎組態檔中的資訊作為 JSON 資料存盤在 html 代碼的注釋中。下面的示例提取該注釋,洗掉 unicode 字符并決議 JSON 資料。
lines <-readLines("test2_simple_pagecode.txt")
alllines <- paste(lines, collapse = " ")
library(stringr)
output<-stringr::str_extract(alllines, "<!--\\{\"content\"\\:\\{\"Notes\". ?-->")
nchar(output)
output2<-gsub("\\\\u002d", " ", output)
jsonlite::parse_json(substr(output2, 5, nchar(output2)-3))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482299.html
