【发布时间】:2019-02-04 11:12:29
【问题描述】:
我正在尝试从以下网址抓取数据: https://university.careers360.com/colleges/list-of-degree-colleges-in-India 我想点击每所大学的名称并获取每所大学的特定数据。
首先我所做的是将所有大学网址收集在一个向量中-:
#loading the package:
library(xml2)
library(rvest)
library(stringr)
library(dplyr)
#Specifying the url for desired website to be scrapped
baseurl <- "https://university.careers360.com/colleges/list-of-degree-colleges-in-India"
#Reading the html content from Amazon
basewebpage <- read_html(baseurl)
#Extracting college name and its url
scraplinks <- function(url){
#Create an html document from the url
webpage <- xml2::read_html(url)
#Extract the URLs
url_ <- webpage %>%
rvest::html_nodes(".title a") %>%
rvest::html_attr("href")
#Extract the link text
link_ <- webpage %>%
rvest::html_nodes(".title a") %>%
rvest::html_text()
return(data_frame(link = link_, url = url_))
}
#College names and Urls
allcollegeurls<-scraplinks(baseurl)
#Reading the each url
library(purrr)
allreadurls<-map(allcollegeurls$url, read_html)
到目前为止工作正常,但是当我编写以下代码时,它显示错误。
#Specialization
#Using CSS selectors to scrap the specialization section
allcollegeurls$Specialization<-NA
for (i in allreadurls) {
allcollegeurls$Specialization[i] <- html_nodes(allreadurls[i][],'td:nth-
child(1)')
}
Error in allreadurls[i] : invalid subscript type 'list'
【问题讨论】:
标签: r list web-scraping