gpt4 book ai didi

html - 使用xpath将解析后的html写入R中的文件

转载 作者:行者123 更新时间:2023-11-27 23:52:00 25 4
gpt4 key购买 nike

我在将已解析的 html 写入文件时遇到问题。我从 xpath 指定的表中获得了这些数据,但是当我尝试将其写入文件时,出现“cat(list(...)) 错误”。

> fileUrl <- "http://www.w3schools.com/html/html_tables.asp"
> library(XML)
> htmlFile <- htmlTreeParse(fileUrl, useInternal = TRUE)
> # and then I grab the table
> urlParse <- xpathSApply(htmlFile, "//table[@class='reference']")
> urlParse[[1]]
[[1]]
<table class="reference" style="width:100%">
<tr><th>Number</th>&#13;
<th>First Name</th>&#13;
<th>Last Name</th> &#13;
<th>Points</th>&#13;
</tr>
<tr><td>1</td>&#13;
<td>Eve</td>&#13;
<td>Jackson</td> &#13;
<td>94</td>&#13;
</tr>
<tr><td>2</td>&#13;
<td>John</td>&#13;
<td>Doe</td> &#13;
<td>80</td>&#13;
</tr>
<tr><td>3</td>&#13;
<td>Adam</td>&#13;
<td>Johnson</td> &#13;
<td>67</td>&#13;
</tr>
<tr><td>4</td>&#13;
<td>Jill</td>&#13;
<td>Smith</td> &#13;
<td>50</td>&#13;
</tr>
</table>

这很好,但是当我将其写入文件时,我得到:

> write(urlParse[[1]], file = "file.txt") 
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'externalptr') cannot be handled by 'cat'

但是当我做类似的事情时:

> write(c(3234,234,23,4,234), file = "file.txt") 

一切都很好。是因为它是一个列表吗?我尝试了 urlParse[1]、toString(urlParse[1])、urlParse[[1]][1]。不知道为什么。

最佳答案

您的 XML 当前由 C 级对象表示。您需要将其转换为字符串。saveXML 可用于执行此操作:

fileUrl <- "http://www.w3schools.com/html/html_tables.asp"
library(XML)
htmlFile <- htmlTreeParse(fileUrl, useInternal = TRUE)
urlParse <- xpathSApply(htmlFile, "//table[@class='reference']")
myXML <- saveXML(urlParse[[1]])
write(myXML, file = "file.txt")

或者只是

saveXML(urlParse[[1]], file = "file.txt")

关于html - 使用xpath将解析后的html写入R中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com