Я использую пакет xml2 в R для очистки данных с веб-страницы. Текст, который я хочу, чтобы очистить обнесена тегах, представленным ниже:Веб-скребок в R атрибута, содержащего подстроку
<td>
<a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$CenterContent$ctl01",
"", true, "", "", false,
true))">Species A
</a></td>
<td>
<a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$CenterContent$ctl02",
"", true, "", "", false,
true))">Species B </a></td>
<td><a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$CenterContent$ctl03",
"", true, "", "", false,
true))">Sepcies C </a></td>
<td>
<a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$CenterContent$ctl04",
"", true, "", "", false,
true))">Species D</a></td>
<td>
<a href="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$CenterContent$ctl05",
"", true, "", "", false,
true))">Species E </a></td>
Я попытался использовать следующие строки кода в R:
library(xml2)
page = read_html(website)
nodes = html_nodes(page, xpath='//td/a[@href*="javascript"]')
С выше коде, я просто хочу, чтобы извлечь все узлы, которые имеют атрибут HREF, которые содержат подстроку «JavaScript», но я получаю сообщение об ошибке ниже:
xmlXPathEval: evaluation failed
Warning message:
In xpath_search(x$node, x$doc, xpath = xpath, nsMap = ns, num_results = Inf) :
Invalid expression [1207]
Я был бы признателен, если кто-нибудь есть какие-либо предложения.
Спасибо за внимание.
Cheers.
Вы привязаны к использованию 'xpath'? В противном случае вы можете сделать: 'jscripts <- page %>% rvest :: html_nodes ('td')%>% rvest :: html_nodes ('a')%>% rvest :: html_attr ('href')%>% . [grepl ('javascript',.)] '. Вам понадобится пакет 'magrittr' для оператора трубы. – Abdou