【发布时间】:2021-03-03 21:11:08
【问题描述】:
我正在尝试从 Indeed 收集工作和公司的数据。我的目标是制作一个循环,以便它抓取给定数量的页面。问题在于,抓取向量的长度并非对所有人都相同,因为例如,并非所有工作机会都显示薪水。有什么办法可以用 NA 值“填充”相应的空格,使向量的长度相同?
listado = data.frame()
for(page_result in seq(from = 10, to = 100, by = 10)){
link = paste("https://es.indeed.com/jobs?q=ingeniero+energ%C3%ADas+renovables&start=", page_result, sep='')
page = read_html(link)
title = page %>% html_nodes(".jobtitle") %>% html_text()
location = page %>% html_nodes(".accessible-contrast-color-location") %>% html_text()
descripcion =page %>% html_nodes(".summary") %>% html_text(trim=TRUE)
fecha = page %>% html_nodes(".date") %>% html_text(trim=TRUE)
empresa = page %>% html_nodes(".company") %>% html_text(trim=TRUE)
listado = rbind(listado, data.frame(title, empresa, location,fecha, descripcion, stringsAsFactors = FALSE))
print(paste("Page:", page_result))
}
【问题讨论】:
-
那么你到底“坚持”了什么?目前尚不清楚您想要的输出到底是什么,您要更改什么或问题是什么。
-
我想要的输出是一个单一的数据框,它收集了定义页数的“puesto”和“empresa”的所有值
标签: r loops web-scraping