使用 rvest 抓取多个职位列表页面
Using rvest to Scrape Multiple Job Listing pages
我已经阅读了多个其他类似的问题,但似乎找不到能给我正确答案的问题。
我正在尝试抓取 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)))
}
但是,如果您查看该网站,底部有 'numbered navigation' 可以继续转到列出更多职位的其他页面。
我似乎无法弄清楚如何添加正确的代码来让 rvest 自动导航到其他页面并抓取这些作业。
如有任何帮助,我们将不胜感激。
搜索结果中有25页,
当你点击下一个按钮时,url 末尾的数字会根据导航页码而变化,如果上面的代码适用于第一页,那么你需要遍历一个范围1 到 25 并将您的页码附加到 url 并提取它。
希望有用
试试这个:
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)
}
只需遍历所有页面即可抓取并组合它们。
我已经阅读了多个其他类似的问题,但似乎找不到能给我正确答案的问题。
我正在尝试抓取 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)))
}
但是,如果您查看该网站,底部有 'numbered navigation' 可以继续转到列出更多职位的其他页面。
我似乎无法弄清楚如何添加正确的代码来让 rvest 自动导航到其他页面并抓取这些作业。
如有任何帮助,我们将不胜感激。
搜索结果中有25页,
当你点击下一个按钮时,url 末尾的数字会根据导航页码而变化,如果上面的代码适用于第一页,那么你需要遍历一个范围1 到 25 并将您的页码附加到 url 并提取它。
希望有用
试试这个:
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)
}
只需遍历所有页面即可抓取并组合它们。