我正在创建一个webscraper,我正在收集一篇文章的全文。因此,现在我还没有能够抓住文章全文所需的html。文本应稍后输出到csv中,文本都在一行中
我的输出当前为空
我的程序如下:
library(rvest)
library(RCurl)
library(XML)
library(stringr)
#for Fulltext to read pdf
####install.packages("pdftools")
library(pdftools)
fullText <- function(parsedDocument){
fullText <- parsedDocument %>%
html_nodes("a.article-body") %>%
html_text() %>%
return(fullText)
}
#main function with input as parameter year
testFullText <- function(DOIurl){
parsedDocument <- read_html(DOIurl)
DNAresearch <- data.frame()
allData <- data.frame("Full Text" = fullText(parsedDocument), stringsAsFactors = FALSE)
DNAresearch <- rbind(DNAresearch, allData)
write.csv(DNAresearch, "DNAresearch.csv", row.names = FALSE)
}
testFullText("https://doi.org/10.1093/dnares/dsm026")
2条答案
按热度按时间uinbv5nw1#
首先,您需要下载PDF文件,然后再尝试从中提取文本。
阅读html源文件,似乎pdf文件链接存储在“ meta”标签中。从那里你可以下载文档或尝试使用文档上的“pdftools”库。
如果你只想找论文的某个部分,那么直接从网页上提取信息而不是下载文档可能是有意义的。
另请参阅此问题Incorrect first row in webscrape using R和此用户的其他问题,因为您似乎正在处理类似的问题。
这将是一个更好的定义目标,而不是给予我一切的另一个问题。
93ze6v8z2#
我已经能够用下面的代码获得文章的文本: