繁体   English   中英

如何从 HTML 文档中进行文本挖掘,并将其转换为 CSV 文件?

[英]How to do Text Mining from a HTML document, and convert it into a CSV file?

所以我正在尝试从这个网站“ https://www.bmkg.go.id/gempabumi/gempabumi-terkini.bmkg ”进行一些文本挖掘 - 特别是从第 452 行到第 1050 行通过开发人员的源代码我没能成功地做到这一点; 我的目标是,在我成功之后,我必须将其转换为带有自定义标签的 dataframe,然后将其另存为 CSV 文件到我的本地驱动器中。

我实现这个目标的逻辑是正确的,还是我一开始就搞错了?

这是我到目前为止所拥有的:

    library(httr)
    library(dplyr)

    bmkg_current <- GET("https://www.bmkg.go.id/gempabumi/gempabumi-terkini.bmkg")

    stringi::stri_enc_detect(content(bmkg_current, "raw"))      //just to check encoding type
    bmkg_text <- content(bmkg_current, type ="text", encoding = "ISO-8859-1")
    bmkg_df <- tibble(line = 452:1050, text = bmkg_text)
    bmkg_df          //tried to output, but not want I wanted

Output:

 # A tibble: 599 x 2
   line text                                                      
   <int> <chr>                                                     
   1   452 "<!DOCTYPE html>\r\n<!--[if IE 8]> <html lang=\"en\" clas~
   2   453 "<!DOCTYPE html>\r\n<!--[if IE 8]> <html lang=\"en\" clas~
   3   454 "<!DOCTYPE html>\r\n<!--[if IE 8]> <html lang=\"en\" clas~
   4   455 "<!DOCTYPE html>\r\n<!--[if IE 8]> <html lang=\"en\" clas~
   5   456 "<!DOCTYPE html>\r\n<!--[if IE 8]> <html lang=\"en\" clas~

这些是 HTML 中第 452 - 1050 行的样子,来自 Developer Source:

                            <tr>
                                <td>2</td>
                                <td>29-Mar-20 <br>06:10:35 WIB</td>
                                <td>-7.39</td>
                                <td>124.19</td>
                                <td>5.2</td>
                                <td>631 Km</td>
                                <td>108 km BaratLaut ALOR-NTT</td>
                            </tr>

对此的任何帮助将不胜感激:谢谢:)

如果您需要使用rvest网站上的表格中的信息,您可以执行以下操作:

library(rvest)
url <- 'https://www.bmkg.go.id/gempabumi/gempabumi-terkini.bmkg'
out_df <- url %>% read_html() %>% html_table() %>% .[[1]]

head(out_df)
#  #            Waktu Gempa Lintang  Bujur Magnitudo Kedalaman                                   Wilayah
#1 1 02-Apr-20 09:13:13 WIB   -7.93 125.62       5.5     10 Km                 125 km TimurLaut ALOR-NTT
#2 2 29-Mar-20 06:10:35 WIB   -7.39 124.19       5.2    631 Km                 108 km BaratLaut ALOR-NTT
#3 3 28-Mar-20 22:43:17 WIB   -1.72 120.14       5.8     10 Km               46 km Tenggara SIGI-SULTENG
#4 4 27-Mar-20 21:32:48 WIB    0.28 133.53       5.5     10 Km       139 km BaratLaut MANOKWARI-PAPUABRT
#5 5 27-Mar-20 04:36:40 WIB   -2.72 139.26       5.9     11 Km        72 km BaratLaut KAB-JAYAPURA-PAPUA
#6 6 26-Mar-20 22:38:03 WIB    5.58 125.16       6.3     10 Km 221 km BaratLaut TAHUNA-KEP.SANGIHE-SULUT

您可以使用write.csv将此数据写入 csv

write.csv(out_df, 'earthquake_data.csc', row.names = FALSE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM