Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解析R中的HTML节点_Html_R_Parsing - Fatal编程技术网

如何解析R中的HTML节点

如何解析R中的HTML节点,html,r,parsing,Html,R,Parsing,我以前用R编写过代码,但从来没有用HTML做过任何事情,所以请容忍我 我建立了一个脚本来获取一些关于学校的有用信息,这里是它的要点: source <- html(url) address_phone_information <- html_node(source, css = "h4") 理想情况下,我只想取出地址信息(801 East Arctic Street,Palmer,AK 99645-6179)以及电话号码(907-746-2358),并将它们存储在两个不同的变量地址

我以前用R编写过代码,但从来没有用HTML做过任何事情,所以请容忍我

我建立了一个脚本来获取一些关于学校的有用信息,这里是它的要点:

source <- html(url)
address_phone_information <- html_node(source, css = "h4")
理想情况下,我只想取出地址信息(
801 East Arctic Street,Palmer,AK 99645-6179
)以及电话号码(
907-746-2358
),并将它们存储在两个不同的变量
地址
电话

更好的解决方案是将地址的不同部分存储在四个变量中,
街道
城市
,和
邮政编码
,但这似乎并不难做到,只要我将地址平方


对我如何做到这一点有什么建议吗?我也有其他学校要看,并希望使用完全相同的代码。另外,如果有帮助的话,我可以提供url。

查看package
rvest
。它具有类似于
html\u text
的功能,一旦您使用
html\u node
定位了节点,它就可以进入节点内部,并提供了修剪空白的选项。似乎是一个管道字符(|)将地址和电话分开,因此
str_split
与package
stringr
可能会有所帮助。如果地址格式非常一致,那么使用一些仔细的正则表达式从包stringr中提取
stru
,应该可以得到地址中对我帮助很大的部分。我能够用
str_split
解析出所有地址信息,
str_trim
帮助我消除了所有空白。
<h4>
                801 East Arctic Street, Palmer, AK 99645-6179            |
        907-746-2358              
        <a target="_blank" href="http://www.acc.matsuk12.us/">WEBSITE</a>                 </h4>