【问题标题】:Scraping data from PDF using R使用 R 从 PDF 中抓取数据
【发布时间】:2018-11-19 23:14:06
【问题描述】:

我想从这个 PDF http://medias4.fis-ski.com/pdf/2019/JP/3088/2019JP3088RL.pdf 中提取数据(跳台滑雪)

我对除了bib俱乐部出生日期

之外的所有数据都感兴趣

我正在尝试使用 pdftools

pdf_text("raw/data.pdf") %>% strsplit(split = "\n")

我被困在这里。问题是列 points(门补偿)有时是空的,有时不是。我不知道如何处理。

我想要的输出是这样的:

Rank|Athlete       |Nation|(...)|Jump_1|Round_1|Jump_2|Round_2|Tot_points
1   |KLIMOV Evgeniy|RUS   |(...)|127.5 |130    |131.5 |133.4  |263.4

谁能帮帮我?

【问题讨论】:

    标签: r pdf web-scraping screen-scraping


    【解决方案1】:

    看看这个:

    library(tidyverse)
    text<-pdftools::pdf_text("http://medias4.fis-ski.com/pdf/2019/JP/3088/2019JP3088RL.pdf")
    
    list<-str_remove_all(text,"\\X+?TOTAL\\s+RANK\n") %>% 
      str_trim() %>% 
      str_split("\n\\s{10,}(?=\\p{L})") %>% 
      modify_depth(1,~str_split(.x,"\\s{2,}") %>%
                       map(~.x[1:13] %>% 
                             set_names(paste0("x",1:13))) 
                       )
    ## Just the first page
    df<-bind_rows(!!!list[[1]])
    

    这不是一个确定的解决方案,但它是一些进步。

    【讨论】:

      猜你喜欢
      • 2011-12-16
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      相关资源
      最近更新 更多