1

我需要帮助从 r 中的 pdf 文件中提取信息(例如https://arxiv.org/pdf/1701.07008.pdf

我正在使用pdftools,但有时pdf_info()不起作用,在这种情况下,我无法自动使用pdf_text()

请注意,tabulizer 在我的 PC 上不起作用。
这是我正在做的处理(抱歉,您需要保存 pdf 并使用自己的路径进行操作):

 info <- pdf_info(paste0(path_folder,"/",pdf_path))
 title <- c(title,info$keys$Title)
 key <- c(key,info$keys$Keywords)
 auth <- c(auth,info$keys$Author)
 dom <- c(dom,info$keys$Subject)
 metadata <- c(metadata,info$metadata)

我大部分时间都想获得标题和摘要。

4

1 回答 1

2

我们需要对我们希望抓取的 pdf 的结构做出一些假设。下面的代码做了以下假设:

  1. 标题和摘要在第 1 页(公平假设?)
  2. 标题高度为 15
  3. 摘要介于“Abstract”一词的第一次出现和“Introduction”一词的第一次出现之间
library(tidyverse)
library(pdftools)

data = pdf_data("~/Desktop/scrape.pdf")

#Get First page
page_1 = data[[1]]

# Get Title, here we assume its of size 15
title = page_1%>%
  filter(height == 15)%>%
  .$text%>%
  paste0(collapse = " ")


#Get Abstract
abstract_start = which(page_1$text == "Abstract.")[1]
introduction_start = which(page_1$text == "Introduction")[1]

abstract = page_1$text[abstract_start:(introduction_start-2)]%>%
  paste0(collapse = " ")

当然,您可以解决此问题并为您的刮刀施加更严格的限制。

于 2019-09-05T04:41:32.363 回答