将HTML / XML PDF文件格式读入R

jes*_*ica 8 html xml r

我试图通过将RPDF读取为HTML / XML文件来解析pdf。我知道我可以使用该pdftools软件包阅读它。但是,如果我只是以HTML / XML文件的形式读取链接,则无法访问其中的数据。

library(xml2)
library(XML)
html_string="https://mchb.hrsa.gov/whusa11/hstat/hsrmh/downloads/pdf/233ml.pdf"
ht <-read_html(html_string)
nodes<-xml_find_all(ht, ".//body")


> ht
{xml_document}
<html>
 [1] <body><p>%PDF-1.6\r%\xe2ãÏÓ\r\n83 0 obj\r&lt;&gt;stream\r\nhÞ\u009cTË\u008eÓ@äSú'»çÑ3\u0096V+EA\\"V«$·\u ...
 [2] <html><p>\u009d@a ö¯\u0088Î÷Ü\\&amp;ÔÈýÐâÿZO^"j[FoQ)ÒÇq\n\u009b\u008dx\u0085\u008eß±µ\u009bõo\t­\u008f6¢ ...

> ht[1]
  $node
  <pointer: 0x00000000047901a0>
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下功能

xmlTreeParse
xmlToList
xmlParse
Run Code Online (Sandbox Code Playgroud)

如何访问其中的xml文档内容字符串?我正在努力使它们成为我可以操纵的对象。

cap*_*oma 2

您的 xml_documentht包括 1x 正文和 13x html\n您可以使用html_nodehtml_nodesrvest提取所需的部分。

\n\n
library(xml2)\nlibrary(XML)\nlibrary(rvest)\nlibrary(dplyr)\n\nhtml_string="https://mchb.hrsa.gov/whusa11/hstat/hsrmh/downloads/pdf/233ml.pdf"\nht <-read_html(html_string)\n\nht %>% html_nodes("html") # look at all html nodes\nht %>% html_node("body") # look at body node \n
Run Code Online (Sandbox Code Playgroud)\n\n

根据您的问题,您似乎希望将正文节点作为文本,对吗?

\n\n

您可以通过以下方式获取它:

\n\n
ht %>% html_node("body") %>% as.character -> text #get body node as text\ntext    \n[1] "<body><p>%PDF-1.6\\r%\\xe2\xc3\xa3\xc3\x8f\xc3\x93\\r\\n83 0 obj\\r&lt;&g...\n
Run Code Online (Sandbox Code Playgroud)\n