如何使用R从pdf文档中提取标题
how to extract title from a pdf documment with R
我需要帮助从 r 中的 pdf 文件中提取信息
(例如 https://arxiv.org/pdf/1701.07008.pdf)
我正在使用 pdftools
,但有时 pdf_info()
不起作用,在那种情况下我无法使用 pdf_text()
自动完成
请注意,制表器无法在我的电脑上运行。
这是我正在做的处理(抱歉,您需要保存 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)
大多数时候我想获得标题和摘要。
我们需要对要抓取的 pdf 的结构做出一些假设。下面的代码做出以下假设:
- 标题和摘要在第 1 页(合理假设?)
- 标题高度为 15
- 摘要在第一次出现的单词 "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 = " ")
当然,您可以解决这个问题并为您的抓取工具施加更严格的限制。
我需要帮助从 r 中的 pdf 文件中提取信息 (例如 https://arxiv.org/pdf/1701.07008.pdf)
我正在使用 pdftools
,但有时 pdf_info()
不起作用,在那种情况下我无法使用 pdf_text()
请注意,制表器无法在我的电脑上运行。
这是我正在做的处理(抱歉,您需要保存 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)
大多数时候我想获得标题和摘要。
我们需要对要抓取的 pdf 的结构做出一些假设。下面的代码做出以下假设:
- 标题和摘要在第 1 页(合理假设?)
- 标题高度为 15
- 摘要在第一次出现的单词 "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 = " ")
当然,您可以解决这个问题并为您的抓取工具施加更严格的限制。