从每个页面结果中刮取所有链接,其中每个结果在RSelenium中都有唯一的ID

时间:2019-04-09 13:50:23

标签: r rvest rselenium

我想使用RSelenium单击每个页面结果。它打开URL,找到具有指定XPath的元素,然后提取具有href属性的每个链接。但是,每个页面结果都绑定到特定的唯一ID。尽管我提供了包含所有唯一ID的列表,但它仍然无法正常工作。下面是我完成的代码。

如果您能帮助我解决这个问题,我将不胜感激。

#Step 1: Identifying the URL and Page Structure  
sapply(2:20, function(x){
  url <-"https://toimitilat.kauppalehti.fi/List?t=81%2C82%2C83%2C84&c=2&mhp=1&on=PublishDate&od=-1&p="
  paste0(url, x) }) -> urls

#Step 2: Scraping all the Links from Each Page Result
rD <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")
remDr <- rD$client
df_all <- data.frame()
for(i in 1:(length(urls))) {
  remDr$navigate(paste0(urls[[i]]))
  base::Sys.sleep   (1)
  links <- remDr$findElements(using = "xpath", value = '//*[@id="normallist"]')
  df <- data.frame(link = unlist(sapply(links, function(x){x$getElementAttribute('href')})))
  Sys.sleep(1)
  df_all <- rbind(df_all, df)
}
df_all

0 个答案:

没有答案