如何解决我能否在 R 中提取 pdf 的结构以检查作者、日期等信息并将其存储在例如数据帧中?
我正在从网页中提取 pdf,想看看是否可以提取每个 pdf 的 xml 结构,并检查诸如作者、每个文档的标题等信息,并将其存储数据框中的信息。 我试图将 pdf 提取为 html 只是为了检查是否存在结构(我只是在这里挑选稻草来检查它是否有效),使用 xmlParse 然后检查根。我得到了一些我无法阅读的结果。 (我没有本地存储的 pdf,我从网站上提取了它们)。 A 我所做的一个例子(名称更改)是:
htht <- read_html("https://digitallibrary.un.org/record/425885/files/A_RES_55_8-EN.pdf")
textin1 <- htht %>% xmlTreeParse(isHTML = TRUE,useInternalNodes = TRUE,asTree = TRUE)
textin <- htht %>% xmlParse(isHTML = TRUE,asTree = TRUE)
rootNode <- xmlRoot(textin)
c <- xmlSApply(rootNode,function(x) xmlSApply(x,xmlValue))
cd.catalog <- as.data.frame(t(c),row.names=NULL)
cd.catalog[1:2,]
显示的结果如下:
Levels: %PDF-1.3\r%âãÃ\u008fÃ\u0093\r\n23 0 obj\r<< \r/Linearized 1 \r/O 25 \r/H [ 1102 245 ] \r/L 132276 \r/E 98654 \r/N 7 \r/T 131698 \r>> \rendobj\r xref\r23 34 \r0000000016 00000 n\r\n0000001027 00000 n\r\n0000001347 00000 n\r\n0000001554 00000 n\r\n0000001713 00000 n\r\n0000001752 00000 n\r\n0000002318 00000 n\r\n0000002531 00000 n\r\n0000002553 00000 n\r\n0000004632 00000 n\r\n0000004654 00000 n\r\n0000006741 00000 n\r\n0000006763 00000 n\r\n0000008634 00000 n\r\n0000008656 00000 n\r\n0000010299 00000 n\r\n0000010321 00000 n\r\n0000012202 00000 n\r\n0000012422 00000 n\r\n0000012880 00000 n\r\n0000012902 00000 n\r\n0000014764 00000 n\r\n0000014986 00000 n\r\n0000015529 00000 n\r\n0000015551 00000 n\r\n0000018087 00000 n\r\n0000018109 00000 n\r\n0000020629 00000 n\r\n0000023303 00000 n\r\n0000023381 00000 n\r\n0000053714 00000 n\r\n0000075083 00000 n\r\n0000001102 00000 n\r\n0000001326 00000 n\r\ntrailer\r<<\r/Size 57\r/Info 22 0 R \r/Root 24 0 R \r/Prev 131688 \r/ID[<42f182109afbf905f84c217484484e19><42f182109afbf905f84c217484484e19>]\r>>\rstartxref\r0\r%%EOF\r \r24 0 obj\r<< \r/Type /Catalog \r/Pages 21 0 R \r/PageLabels 20 0 R \r>> \rendobj\r55 0 obj\r<< /S 71 /L 156 /Filter /FlateDecode /Length 56 0 R >> \rstream\r\nHÂ\u0089b```f``ñc`e``Â\u009bÃ\u008d Ã\u0088Â\u0080 6PÂ\u0094Â\u0081ãÂ\u0088·«¤EÂ\u009cÃ\u00899Ã\u0091T¡QÃ\u0083ó\nÂ\u0080XÂ\u008aÃ\u0084øÂ\u008bÂ\u0098T:Â\u0094Ã\u00840°°40(10XÂ\u009e``8µÂ\u0080Â\u0081yaÃ\u00831æ ·Â\u0081§Ã\u0081QÂ\u0081Â\u0081Ã¥%Â\u0083pÂ\u008bfãñ´ªÂ\u009c²Â\u009b\rPÂ\u0085ÿÃ\u009fÃ\u0092L@ì\r` BÃ\u009b4\rendstream\rendobj\r56 0 obj\r133 \rendobj\r25 0 obj\r<< \r/Type /Page \r/Parent 21 0 R \r/Resources 26 0 R \r/Contents [ 31 0 R 33 0 R 35 0 R 37 0 R 39 0 R 43 0 R 47 0 R 49 0 R ] \r/MediaBox [ 0 0 612 792 ] \r/CropBox [ 0 0 612 792 ] \r/Rotate 0 \r>> \rendobj\r26 0 obj\r<< \r/ProcSet [ /PDF /Text ] \r/Font << /TT2 28 0 R /TT4 41 0 R /TT6 45 0 R >> \r/ExtGState << /GS1 51 0 R
解决方法
检查 pdf_text()
包中的 pdftools
函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。