我已经阅读了多个其他类似的问题,但似乎找不到找到正确答案的问题。
我正试图在TeamWorkOnline.com上抓取所有当前职位。
我可以使用以下代码开始抓取过程:
listings <- data.frame(title=character(),
stringsAsFactors=FALSE)
{
url_ds <- paste0('https://www.teamworkonline.com/jobs-in-sports?employment_opportunity_search%5Bexclude_united_states_opportunities%5D=0&commit=Search',i)
var <- read_html(url_ds)
#job title
title <- var %>%
html_nodes('.margin-none') %>%
html_text() %>%
str_extract("(\\w+.+)+")
listings <- rbind(listings, as.data.frame(cbind(title)))
}
但是,如果您查看该站点,底部将显示“编号导航”,以继续显示列出更多作业的其他页面。
我似乎无法弄清楚如何添加正确的代码以使rvest自动导航到其他页面并抓取这些作业。
任何帮助将不胜感激。
答案 0 :(得分:1)
尝试一下:
library(rvest)
library(stringr)
listings <- character()
for (i in 1:25) {
url_ds <- paste0("https://www.teamworkonline.com/jobs-in-sports?employment_opportunity_search%5Bexclude_united_states_opportunities%5D=0&page=", i)
#job title
title <- read_html(url_ds) %>%
html_nodes('.margin-none') %>%
html_text() %>%
str_extract("(\\w+.+)+")
listings <- c(listings, title)
}
只需循环浏览所有页面即可抓取并合并它们。
答案 1 :(得分:-1)
抱歉,我不知道您使用的是哪种语言,但请尝试按照以下过程进行操作。
搜索结果中有25页,
每当您单击下一步按钮时,URL末尾的数字就会根据导航页号而变化,如果以上代码适用于第一页,那么您需要遍历1到25的范围并附加您的页号并提取到网址。
我希望它能起作用