将本地 HTML 文件读入 R 以进行数据提取

Posted

技术标签:

【中文标题】将本地 HTML 文件读入 R 以进行数据提取【英文标题】:Reading local HTML files into R for data extraction 【发布时间】:2020-09-18 13:59:52 【问题描述】:

我在一个文件夹中有一组本地 html 文件。使用下面的代码,我可以导入数据。作为下一步,我想合并几个文件(都具有相同的格式),将数据和内容提取为表格格式以供进一步分析

source <- FactivaSource("page1.html")
corpus <- Corpus(source, readerControl = list(language = NA))
inspect(corpus)
meta(corpus[[1]])

【问题讨论】:

看看rvest包,处理html信息和提取数据真的很方便 【参考方案1】:

将语料库转换为数据框的最简单方法是使用tidytext::tidy,例如:

library(tm)
library(tidytext)

data("crude") # crude dataset is from `tm` package
tidy(crude)

一旦您将所有语料库转换为数据框,您就可以以任何有意义的方式组合它们 - 即我会将语料库转换为数据框,然后合并它们,而不是相反(尽管这也可能是可能的) )。

输出

> tidytext::tidy(crude)
# A tibble: 20 x 16
   author datetimestamp       description heading id    language origin topics lewissplit
   <chr>  <dttm>              <chr>       <chr>   <chr> <chr>    <chr>  <chr>  <chr>     
 1 NA     1987-02-26 18:00:56 ""          DIAMON… 127   en       Reute… YES    TRAIN     
 2 BY TE… 1987-02-26 18:34:11 ""          OPEC M… 144   en       Reute… YES    TRAIN     
 3 NA     1987-02-26 19:18:00 ""          TEXACO… 191   en       Reute… YES    TRAIN     
 4 NA     1987-02-26 19:21:01 ""          MARATH… 194   en       Reute… YES    TRAIN     
 5 NA     1987-02-26 20:00:57 ""          HOUSTO… 211   en       Reute… YES    TRAIN     
 6 NA     1987-03-01 04:25:46 ""          KUWAIT… 236   en       Reute… YES    TRAIN     
 7 By Je… 1987-03-01 04:39:14 ""          INDONE… 237   en       Reute… YES    TRAIN     
 8 NA     1987-03-01 06:27:27 ""          SAUDI … 242   en       Reute… YES    TRAIN     
 9 NA     1987-03-01 09:22:30 ""          QATAR … 246   en       Reute… YES    TRAIN     
10 NA     1987-03-01 19:31:44 ""          SAUDI … 248   en       Reute… YES    TRAIN     
11 NA     1987-03-02 02:05:49 ""          SAUDI … 273   en       Reute… YES    TRAIN     
12 NA     1987-03-02 08:39:23 ""          GULF A… 349   en       Reute… YES    TRAIN     
13 NA     1987-03-02 08:43:22 ""          SAUDI … 352   en       Reute… YES    TRAIN     
14 NA     1987-03-02 08:43:41 ""          KUWAIT… 353   en       Reute… YES    TRAIN     
15 NA     1987-03-02 09:25:42 ""          PHILAD… 368   en       Reute… YES    TRAIN     
16 NA     1987-03-02 12:20:05 ""          STUDY … 489   en       Reute… YES    TRAIN     
17 NA     1987-03-02 12:28:26 ""          STUDY … 502   en       Reute… YES    TRAIN     
18 NA     1987-03-02 13:13:46 ""          UNOCAL… 543   en       Reute… YES    TRAIN     
19 By BE… 1987-03-02 15:38:34 ""          NYMEX … 704   en       Reute… YES    TRAIN     
20 NA     1987-03-02 15:49:06 ""          ARGENT… 708   en       Reute… YES    TRAIN     
# … with 7 more variables: cgisplit <chr>, oldid <chr>, places <named list>, people <chr>,
#   orgs <chr>, exchanges <chr>, text <chr>

【讨论】:

以上是关于将本地 HTML 文件读入 R 以进行数据提取的主要内容,如果未能解决你的问题,请参考以下文章

我应该使用哪个函数将非结构化文本文件读入 R? [关闭]

将扩展名为 .data 的文件读入 R

将多条csv行读入R中的单行

将 dBase / Paradox 数据读入 R?

从更大的基于excel的数据集中提取R中的x行数

将 SAS sas7bdat 数据读入 R