使用R从xml节点提取javascript语法
Extracting javascript syntax from a xml node using R
我希望这不会太麻烦,但我正在尝试使用R.从XML节点或节点集提取javascript语法
我想从以下节点提取一个部分url:
[[76]] <'a href="javascript:;" onclick="self.name='regmain'; window.open('regcssm.asp?Cl=23&Lg=1&Co=1201.00', 'regpopup', 'height=400,width=400,resizable=yes,scrollbars=yes'); return false;">1201.00<'/a>
这个页面来自联合国产品分类协调制度,实际上是一个.asp页面。
然而,我设法解析了它并找到了必要的节点。
我不知道,无论是从网络上还是在这个论坛内,R是否有能力提取这个网址:(regcssm.asp?Cl=23&Lg=1&Co=120.00)。我尝试了xmlGetAttr(它只给出'javascript'),xpathSApply给出1201.00。
有没有办法做到这一点,或者从R中的xml中提取这一行作为文本字符串?
以7-64的比分获胜,R 3.0.1。
假设您解析的html存储在bar
中
# Extract the relevant "onclick" attributes
w <- xpathSApply(bar,path = '//a[@href="javascript:;"][@onclick]',
fun = xmlGetAttr, "onclick")
# extract the text between brackets `window.open()` split by `,` and then
# extract the first component and remove `'`
gsub("'",'',sapply(strsplit(gsub(".*''((.*)'').*", "''1", w),','),head,1))
我相信有一个更短的答案(我有R版本3.1.1):
install.packages("rvest"); install.packages("magrittr")
library(rvest);library(magrittr)
UN <- html("http://unstats.un.org/unsd/cr/registry/regso.asp?Ci=11&Lg=1")
UN %<>% html_nodes(".content table") %>% .[[2]] %>%
html_nodes(".tcont, .lcont") %>% html_nodes("a") %>% .[-1]
UN %<>% lapply(function(x) x %>% as("character"))
UN %<>% substr(67, 108)
UN
相关文章:
- 如何在HTML源代码中提取javascript变量
- 从CSV文件中提取JavaScript代码
- 从excel中提取Javascript
- 如何从html中提取javascript
- 如何在单击按钮后提取javascript中textarea的id(在本例中是动态的)
- 使用R从xml节点提取javascript语法
- 使用 PHP 在页面中提取 Javascript 的源代码
- 如何在 Java 中从 HTML 页面中提取 JavaScript 链接
- 在Poedit中提取javascript gettext
- 用于提取 javascript (.js) 类和方法结构的库
- 有没有办法从Google Docs/with Google Apps Script中的页面中提取JavaScript变量
- 使用 Babel CLI 提取器提取 Javascript 获取文本消息
- 安卓系统,使用javascript接口从webview中提取javascript变量
- 使用DOMDOCUMENT提取JavaScript值
- 如何使用正则表达式提取javascript变量
- 如何通过python从源页面中提取javascript创建的隐藏标签
- 仅从脚本标记中提取javascript
- 如何从下面的页面中提取JavaScript函数
- 正在提取JavaScript中的URL参数值
- 如何从网页中提取javascript动态数据