Что касается вашего кода, он у вас почти был - вы не выбрали правильный элемент. Я полагаю, что вы выбрали id
, где я нашел html_nodes
лучше всего работает при выборе class
. Классы, которые вы ищете: gs_rt
и gs_a
.
С помощью regex
вы можете затем обработать данные в желаемом формате, извлекая авторов и годы.
url_name <- 'https://scholar.google.com/scholar?hl=en&as_sdt=0%2C38&q=apex+predator+conservation&btnG=&oq=apex+predator+c'
wp <- xml2::read_html(url_name)
# Extract raw data
titles <- rvest::html_text(rvest::html_nodes(wp, '.gs_rt'))
authors_years <- rvest::html_text(rvest::html_nodes(wp, '.gs_a'))
# Process data
authors <- gsub('^(.*?)\\W+-\\W+.*', '\\1', authors_years, perl = TRUE)
years <- gsub('^.*(\\d{4}).*', '\\1', authors_years, perl = TRUE)
# Make data frame
df <- data.frame(titles = titles, authors = authors, years = years, stringsAsFactors = FALSE)