这项任务的目标是在IR的搜索结果页面中提取关于论文标题的“href”,并将它们作为数据框架。 此结果页面结构不合理:纸张标题,问题信息,作者和下载按钮位于同一字段中,仅由“span”(“标题”,“问题”和“作者”之间)和“sup”分隔“(在”作者“内部)。
results<-"http://ir.las.ac.cn/handle/12502/8473/browse?type=dateissued"
library(rvest)
resultsource <- read_html(results)
itemLine <- html_node(resultsource, xpath ='//tr[@class="itemLine"]')
# gether labels and values of item metadata in miscTable2
titleLine <- html_nodes(itemLine, xpath ='//span/a[@href][@target]')
titlehref <- xml_attrs(titleLine, "href")
resultstxt <- html_text(titleLine, trim = TRUE)
上面的程序运行没有错误,但“titleLine”有很多冗余,而“titlehref”只有比赛为'class &#34; itemLine&#34;'但根本没有网址。 我的问题是:
titlehref <-
xml_attrs(titleLine, "href", ns=”http://ir.las.ac.cn/handle”)
)如何拟合此IR的结构可以得到正确的结果?非常感谢。
答案 0 :(得分:0)
您可以为所需的<a href="#" class="button">buttt</a>
目标以及<span>
<td>
^^中的HTML标签喜欢&#34;`...&#34;是它们的错误(它们也出现在渲染的浏览器视图中)。我认为有人在XSS预防方面做得太过分了。
答案 1 :(得分:0)
试试这个。
library(rvest)
url<-"http://ir.las.ac.cn/handle/12502/8473/browse?type=dateissued"
page<-html_session(url)
# DATA EXTRACTION
title<-html_nodes(page,css="strong") %>% html_text()
title<-title[5:length(title)]
download_link<-html_nodes(page, css= "span:nth-child(7) a+ a") %>% html_attr("href")
issue_information<-html_nodes(page, css= "i") %>% html_text()
authors<-html_nodes(page,css=".itemLine span:nth-child(5)") %>% html_text()
# CONVERT TO DATA FRAME
k<-data.frame(title,download_link,issue_information,authors)
在每个页面上运行代码以获取完整的数据框。
为了找到不同的元素,我使用了“SELECTOR GADGET”chrome add in,然后在代码中使用。